Implement Run query button in DataExplorer.vue

Description

Make use of the new renderer.vue component from #577524 (closed) to query and render the GLQL results after clicking Run query.

Design

Should match the general flow from the video here: #556566 (closed)

Sample diff

diff --git a/ee/app/assets/javascripts/vue_shared/components/data_explorer/data_explorer.vue b/ee/app/assets/javascripts/vue_shared/components/data_explorer/data_explorer.vue
index 800d5b487e12..789742b32548 100644
--- a/ee/app/assets/javascripts/vue_shared/components/data_explorer/data_explorer.vue
+++ b/ee/app/assets/javascripts/vue_shared/components/data_explorer/data_explorer.vue
@@ -5,6 +5,7 @@ import EMPTY_CHART_SVG from '@gitlab/svgs/dist/illustrations/empty-state/empty-c
 import { GlFormTextarea, GlButton, GlCard, GlEmptyState, GlLink } from '@gitlab/ui';
 import ModalCopyButton from '~/vue_shared/components/modal_copy_button.vue';
 import { helpPagePath } from '~/helpers/help_page_helper';
+import Renderer from '~/glql/components/common/renderer.vue';
 
 export default {
   name: 'DataExplorer',
@@ -15,17 +16,23 @@ export default {
     GlEmptyState,
     GlLink,
     ModalCopyButton,
+    Renderer,
   },
   glqlDocsLink: helpPagePath('user/glql/_index'),
   EMPTY_CHART_SVG,
   data() {
-    return { query: '' };
+    return { query: '', submittedQuery: '' };
   },
   computed: {
     hasQueryText() {
       return this.query.trim() !== '';
     },
   },
+  methods: {
+    onRunQuery() {
+      this.submittedQuery = this.query;
+    },
+  },
 };
 </script>
 
@@ -53,13 +60,15 @@ export default {
     </div>
 
     <div>
-      <gl-button variant="confirm" icon="play" :disabled="!hasQueryText">{{
+      <gl-button variant="confirm" icon="play" :disabled="!hasQueryText" @click="onRunQuery">{{
         s__('DataExplorer|Run query')
       }}</gl-button>
     </div>
 
     <gl-card>
+      <renderer v-if="submittedQuery" :query="submittedQuery" />
       <gl-empty-state
+        v-else
         :title="s__('DataExplorer|Preview not available')"
         :description="s__('DataExplorer|Start by typing a GLQL query.')"
         :svg-path="$options.EMPTY_CHART_SVG"
Edited by 🤖 GitLab Bot 🤖