From be88b4836ceb720e9eb7f36019c2e29f7d51af10 Mon Sep 17 00:00:00 2001 From: Anatoliy Melnikau Date: Thu, 11 Aug 2022 13:50:35 +0300 Subject: [PATCH 1/7] Exclude IDE configs --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 08b2c21..f89622e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +.idea phpunit.xml /build /vendor From 5c3e68177f8cade620fcf4af7455779dce190d04 Mon Sep 17 00:00:00 2001 From: Anatoliy Melnikau Date: Thu, 11 Aug 2022 13:52:48 +0300 Subject: [PATCH 2/7] Restore docs removed by chance See commit 1f7030574cb99dda2e1c8d24175c8dc89a5df865 --- src/Resources/doc/custom-parameters.md | 29 +++++++++++++++ src/Resources/doc/graphql-endpoint.md | 50 ++++++++++++++++++++++++++ 2 files changed, 79 insertions(+) create mode 100644 src/Resources/doc/custom-parameters.md create mode 100644 src/Resources/doc/graphql-endpoint.md diff --git a/src/Resources/doc/custom-parameters.md b/src/Resources/doc/custom-parameters.md new file mode 100644 index 0000000..0e1a068 --- /dev/null +++ b/src/Resources/doc/custom-parameters.md @@ -0,0 +1,29 @@ +Custom GraphiQL parameters +========================== + +By default, only the `fetcher` parameter is passed to GraphiQL's React component. +To add more: + +1. Override the default GraphiQL template: + +```yaml +# config/packages/graphiql.yaml or app/config/config.yml for Symfony without Flex +overblog_graphiql: + template: "GraphiQL/index.html.twig" +``` + +2. Create a new template: + +```twig +{# templates/GraphiQL/index.html.twig #} +{% extends '@OverblogGraphiQL/GraphiQL/index.html.twig' %} + +{% block graphiql_params %} +{{ parent() }}, +defaultQuery: `query SomeQuery($param: String) { + items(param: $param) { + someField + } +}` +{% endblock graphiql_params %} +``` diff --git a/src/Resources/doc/graphql-endpoint.md b/src/Resources/doc/graphql-endpoint.md new file mode 100644 index 0000000..68049a2 --- /dev/null +++ b/src/Resources/doc/graphql-endpoint.md @@ -0,0 +1,50 @@ +Custom GraphQL endpoint +======= + +If your graphql endpoint is not the default one coming with the +[overblog/graphql-bundle](https://github.com/overblog/GraphQLBundle), then you might want to tell graphiql how to +resolve the route depending on a schema name. + +By default it uses `Overblog\GraphiQLBundle\Config\GraphQLEndpoint\Helpers\OverblogGraphQLBundleEndpointResolver`. + +### Configuration + +Just set the `overblog_graphiql.endpoint_resolver` parameter like this: + +```yaml +# in app/config/config.yml +overblog_graphiql: + .... + endpoint_resolver: \App\GraphiQL\EndpointResolver +``` + +### The Resolver + +The resolver must be something like this: + +```php + $name], + ]; + } +} +``` + +It must return an array of packed params which will be passed to `RouterInterface::generate` like this +`$router->generate(...$returnedValueOfTheGetByNameMethod)`. + \ No newline at end of file From db5c8dc8791b316c20c52a6ab97cee13aeb1fe30 Mon Sep 17 00:00:00 2001 From: Anatoliy Melnikau Date: Thu, 11 Aug 2022 13:55:30 +0300 Subject: [PATCH 3/7] Move documentation into the directory "docs" in the root of repository --- README.md | 8 ++++---- {src/Resources/doc => docs}/custom-http-headers.md | 0 {src/Resources/doc => docs}/custom-parameters.md | 0 {src/Resources/doc => docs}/graphql-endpoint.md | 0 {src/Resources/doc => docs}/libraries-versions.md | 0 5 files changed, 4 insertions(+), 4 deletions(-) rename {src/Resources/doc => docs}/custom-http-headers.md (100%) rename {src/Resources/doc => docs}/custom-parameters.md (100%) rename {src/Resources/doc => docs}/graphql-endpoint.md (100%) rename {src/Resources/doc => docs}/libraries-versions.md (100%) diff --git a/README.md b/README.md index 56b5210..aece38c 100644 --- a/README.md +++ b/README.md @@ -85,10 +85,10 @@ It's done now, navigate to `/graphiql` in your project url More ------------ -* [Custom HTTP headers](Resources/doc/custom-http-headers.md) -* [Custom GraphiQL parameters](Resources/doc/custom-parameters.md) -* [Define JavaScript libraries' versions](Resources/doc/libraries-versions.md) -* [Define a custom GraphQL endpoint](Resources/doc/graphql-endpoint.md) +* [Custom HTTP headers](docs/custom-http-headers.md) +* [Custom GraphiQL parameters](docs/custom-parameters.md) +* [Define JavaScript libraries' versions](docs/libraries-versions.md) +* [Define a custom GraphQL endpoint](docs/graphql-endpoint.md) Community --------- diff --git a/src/Resources/doc/custom-http-headers.md b/docs/custom-http-headers.md similarity index 100% rename from src/Resources/doc/custom-http-headers.md rename to docs/custom-http-headers.md diff --git a/src/Resources/doc/custom-parameters.md b/docs/custom-parameters.md similarity index 100% rename from src/Resources/doc/custom-parameters.md rename to docs/custom-parameters.md diff --git a/src/Resources/doc/graphql-endpoint.md b/docs/graphql-endpoint.md similarity index 100% rename from src/Resources/doc/graphql-endpoint.md rename to docs/graphql-endpoint.md diff --git a/src/Resources/doc/libraries-versions.md b/docs/libraries-versions.md similarity index 100% rename from src/Resources/doc/libraries-versions.md rename to docs/libraries-versions.md From 065c14857147fca9cc89fad6d81b8de86c43009c Mon Sep 17 00:00:00 2001 From: Anatoliy Melnikau Date: Thu, 11 Aug 2022 13:57:25 +0300 Subject: [PATCH 4/7] Fix linting of code-blocks in the documentation --- docs/graphql-endpoint.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/graphql-endpoint.md b/docs/graphql-endpoint.md index 68049a2..7fb708e 100644 --- a/docs/graphql-endpoint.md +++ b/docs/graphql-endpoint.md @@ -14,7 +14,7 @@ Just set the `overblog_graphiql.endpoint_resolver` parameter like this: ```yaml # in app/config/config.yml overblog_graphiql: - .... + # ... endpoint_resolver: \App\GraphiQL\EndpointResolver ``` From f6aea31ec7f314d9b4257a6e61ab9dab066933f4 Mon Sep 17 00:00:00 2001 From: Anatoliy Melnikau Date: Thu, 11 Aug 2022 15:59:25 +0300 Subject: [PATCH 5/7] Add blocks to permit overriding of rendering --- README.md | 1 + docs/custom-rendering.md | 68 +++++++++++++++++++ docs/x-auth-token.png | Bin 0 -> 10970 bytes src/Resources/views/GraphiQL/index.html.twig | 2 + 4 files changed, 71 insertions(+) create mode 100644 docs/custom-rendering.md create mode 100644 docs/x-auth-token.png diff --git a/README.md b/README.md index aece38c..ec21aff 100644 --- a/README.md +++ b/README.md @@ -86,6 +86,7 @@ More ------------ * [Custom HTTP headers](docs/custom-http-headers.md) +* [Custom page rendering](docs/custom-rendering.md) * [Custom GraphiQL parameters](docs/custom-parameters.md) * [Define JavaScript libraries' versions](docs/libraries-versions.md) * [Define a custom GraphQL endpoint](docs/graphql-endpoint.md) diff --git a/docs/custom-rendering.md b/docs/custom-rendering.md new file mode 100644 index 0000000..af4a61f --- /dev/null +++ b/docs/custom-rendering.md @@ -0,0 +1,68 @@ +Custom rendering +=============== + +It may be useful to change template to provide additional fields for more comfortable providing of [custom headers](custom-http-headers.md). + +It can be done the following way: + +1. Override the default GraphiQL template: + +```yaml +# config/packages/graphiql.yaml or app/config/config.yml for Symfony without Flex +overblog_graphiql: + template: "GraphiQL/index.html.twig" +``` +2. Create a new template: + +You have to override block `graphiql_render` and soon of all you have to override block `graphql_fetcher_headers`. + +```twig +{# templates/GraphiQL/index.html.twig #} +{% extends '@OverblogGraphiQL/GraphiQL/index.html.twig' %} + +{% block graphiql_render %} + ReactDOM.render( + {# add your custom implementation here #} + , + document.body + ) +{% endblock graphiql_render %} +``` + +### Example: add "X-Auth-Token" field and header + +```twig +{# templates/GraphiQL/index.html.twig #} +{% extends '@OverblogGraphiQL/GraphiQL/index.html.twig' %} + +{% block graphql_fetcher_headers %} + {{ parent() }} + + let token = document.getElementById('x_header_value').value; + if (token) { + headers['X-Auth-Token'] = token; + } +{% endblock graphql_fetcher_headers %} + +{% block graphiql_render %} + ReactDOM.render( + React.createElement('div', { style: { height: '100%' } }, + React.createElement('div', { style: { background: '#f6f6f6', padding: '5px 15px' }, }, + React.createElement('label', { htmlFor: 'x_header_value' }, 'X-Auth-Token: '), + React.createElement('input', { + id: 'x_header_value', + type: 'text', + placeholder: 'Set token', + }), + ), + React.createElement(GraphiQL, { + fetcher: graphQLFetcher + }), + ), + document.body, + ); +{% endblock graphiql_render %} +``` +How this looks like: + +![This is an image](x-auth-token.png) diff --git a/docs/x-auth-token.png b/docs/x-auth-token.png new file mode 100644 index 0000000000000000000000000000000000000000..c7de34b6b52881c42a3e367259c2354d9f3f0fff GIT binary patch literal 10970 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 MNGOU|i5h(WKb8VNtN;K2 literal 0 HcmV?d00001 diff --git a/src/Resources/views/GraphiQL/index.html.twig b/src/Resources/views/GraphiQL/index.html.twig index d810bc2..0343037 100644 --- a/src/Resources/views/GraphiQL/index.html.twig +++ b/src/Resources/views/GraphiQL/index.html.twig @@ -65,6 +65,7 @@ {% endblock fetcher_function_body %} } + {% block graphiql_render %} ReactDOM.render( React.createElement(GraphiQL, { {% block graphiql_params %} @@ -73,6 +74,7 @@ }), document.body ) + {% endblock graphiql_render %} {% endblock body_script %} {% endblock body %} From 2ed2b643bdc6103be9e369839a17942c78dd74a4 Mon Sep 17 00:00:00 2001 From: Anatoliy Melnikau Date: Thu, 11 Aug 2022 16:02:12 +0300 Subject: [PATCH 6/7] Fix code style --- src/Resources/views/GraphiQL/index.html.twig | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Resources/views/GraphiQL/index.html.twig b/src/Resources/views/GraphiQL/index.html.twig index 0343037..47ea2fe 100644 --- a/src/Resources/views/GraphiQL/index.html.twig +++ b/src/Resources/views/GraphiQL/index.html.twig @@ -34,7 +34,7 @@ {% block body_loading %}Loading...{% endblock body_loading %} {% block body_script %}