From e9fe90ed961966b343c84934f4e34dee904861f7 Mon Sep 17 00:00:00 2001 From: Matias Chomicki Date: Fri, 16 Sep 2022 15:36:38 +0200 Subject: [PATCH] feat(loki-monaco-editor): fix imports --- .../monaco-query-field/MonacoQueryField.tsx | 22 ++++++++++--------- .../monaco-completion-provider/situation.ts | 7 ++++-- 2 files changed, 17 insertions(+), 12 deletions(-) diff --git a/public/app/plugins/datasource/loki/components/monaco-query-field/MonacoQueryField.tsx b/public/app/plugins/datasource/loki/components/monaco-query-field/MonacoQueryField.tsx index 7c6706f588c..52b42b94949 100644 --- a/public/app/plugins/datasource/loki/components/monaco-query-field/MonacoQueryField.tsx +++ b/public/app/plugins/datasource/loki/components/monaco-query-field/MonacoQueryField.tsx @@ -1,13 +1,15 @@ -import React, { useRef, useEffect } from 'react'; -import { useTheme2, ReactMonacoEditor, Monaco, monacoTypes } from '@grafana/ui'; -import { GrafanaTheme2 } from '@grafana/data'; import { css } from '@emotion/css'; -import { languageConfiguration, monarchlanguage } from '@grafana/monaco-logql'; +import React, { useRef, useEffect } from 'react'; import { useLatest } from 'react-use'; + +import { GrafanaTheme2 } from '@grafana/data'; import { selectors } from '@grafana/e2e-selectors'; -import { getCompletionProvider, getSuggestOptions } from './monaco-completion-provider'; +import { languageConfiguration, monarchlanguage } from '@grafana/monaco-logql'; +import { useTheme2, ReactMonacoEditor, Monaco, monacoTypes } from '@grafana/ui'; + import { Props } from './MonacoQueryFieldProps'; import { getOverrideServices } from './getOverrideServices'; +import { getCompletionProvider, getSuggestOptions } from './monaco-completion-provider'; const options: monacoTypes.editor.IStandaloneEditorConstructionOptions = { codeLens: false, @@ -80,7 +82,7 @@ const MonacoQueryField = (props: Props) => { const containerRef = useRef(null); const { languageProvider, history, onBlur, onRunQuery, initialValue } = props; - const lpRef = useLatest(languageProvider); + const langProviderRef = useLatest(languageProvider); const historyRef = useLatest(history); const onRunQueryRef = useLatest(onRunQuery); const onBlurRef = useLatest(onBlur); @@ -120,16 +122,16 @@ const MonacoQueryField = (props: Props) => { // we construct a DataProvider object const getSeriesLabels = (selector: string) => - lpRef.current.getSeriesLabels(selector).then((data) => data ?? {}); + langProviderRef.current.getSeriesLabels(selector).then((data) => data ?? {}); const getHistory = () => Promise.resolve(historyRef.current.map((h) => h.query.expr).filter((expr) => expr !== undefined)); - const getAllLabelNames = () => Promise.resolve(lpRef.current.getLabelKeys()); + const getAllLabelNames = () => Promise.resolve(langProviderRef.current.getLabelKeys()); - const getLabelValues = (labelName: string) => lpRef.current.getLabelValues(labelName); + const getLabelValues = (labelName: string) => langProviderRef.current.getLabelValues(labelName); - const getLogInfo = (selector: string) => lpRef.current.getLogInfo(selector); + const getLogInfo = (selector: string) => langProviderRef.current.getLogInfo(selector); const dataProvider = { getSeriesLabels, getHistory, getAllLabelNames, getLabelValues, getLogInfo }; const completionProvider = getCompletionProvider(monaco, dataProvider); diff --git a/public/app/plugins/datasource/loki/components/monaco-query-field/monaco-completion-provider/situation.ts b/public/app/plugins/datasource/loki/components/monaco-query-field/monaco-completion-provider/situation.ts index dba0f895578..df6697441c9 100644 --- a/public/app/plugins/datasource/loki/components/monaco-query-field/monaco-completion-provider/situation.ts +++ b/public/app/plugins/datasource/loki/components/monaco-query-field/monaco-completion-provider/situation.ts @@ -1,5 +1,7 @@ -import { parser } from '@grafana/lezer-logql'; import type { Tree, SyntaxNode } from '@lezer/common'; + +import { parser } from '@grafana/lezer-logql'; + import { NeverCaseError } from './util'; type Direction = 'parent' | 'firstChild' | 'lastChild' | 'nextSibling'; @@ -553,7 +555,8 @@ export function getSituation(text: string, pos: number): Situation | null { // so first we check if there is an error-node at the cursor-position const maybeErrorNode = getErrorNode(tree, text, pos); - const cur = maybeErrorNode != null ? maybeErrorNode.cursor : tree.cursor(pos); + const cur = maybeErrorNode != null ? maybeErrorNode.cursor() : tree.cursor(pos); + const currentNode = cur.node; const names = [cur.name];