From 2b840f3178d7ec8ebc62dc699a37426d28c6a59f Mon Sep 17 00:00:00 2001 From: Gustavo Saiani <gus@metabase.com> Date: Wed, 14 Dec 2022 15:03:23 -0300 Subject: [PATCH] Move expression suggest files out of metabase-lib (#27207) --- .../expressions/ExpressionEditorHelpText.tsx | 2 +- .../ExpressionEditorTextfield.jsx | 9 ++++----- .../ExpressionEditorTextfield.styled.jsx | 0 .../ExpressionEditorTextfield}/helper-text-strings.ts | 2 +- .../expressions/ExpressionEditorTextfield/index.ts | 1 + .../expressions/ExpressionEditorTextfield}/suggest.js | 11 +++++++---- .../ExpressionEditorTextfield}/suggest.unit.spec.js | 8 +++++--- 7 files changed, 19 insertions(+), 14 deletions(-) rename frontend/src/metabase/query_builder/components/expressions/{ => ExpressionEditorTextfield}/ExpressionEditorTextfield.jsx (98%) rename frontend/src/metabase/query_builder/components/expressions/{ => ExpressionEditorTextfield}/ExpressionEditorTextfield.styled.jsx (100%) rename frontend/src/{metabase-lib/expressions => metabase/query_builder/components/expressions/ExpressionEditorTextfield}/helper-text-strings.ts (99%) create mode 100644 frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield/index.ts rename frontend/src/{metabase-lib/expressions => metabase/query_builder/components/expressions/ExpressionEditorTextfield}/suggest.js (95%) rename frontend/{test/metabase/lib/expressions => src/metabase/query_builder/components/expressions/ExpressionEditorTextfield}/suggest.unit.spec.js (98%) diff --git a/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorHelpText.tsx b/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorHelpText.tsx index 092ad5e336d..9eb34723023 100644 --- a/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorHelpText.tsx +++ b/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorHelpText.tsx @@ -6,8 +6,8 @@ import MetabaseSettings from "metabase/lib/settings"; import ExternalLink from "metabase/core/components/ExternalLink"; import Icon from "metabase/components/Icon"; import TippyPopover from "metabase/components/Popover/TippyPopover"; -import { getHelpDocsUrl } from "metabase-lib/expressions/helper-text-strings"; import { HelpText } from "metabase-lib/expressions/types"; +import { getHelpDocsUrl } from "./ExpressionEditorTextfield/helper-text-strings"; interface ExpressionEditorHelpTextProps { helpText: HelpText; diff --git a/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx b/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield/ExpressionEditorTextfield.jsx similarity index 98% rename from frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx rename to frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield/ExpressionEditorTextfield.jsx index c8f2fe35c38..3e38bae3dd3 100644 --- a/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx +++ b/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield/ExpressionEditorTextfield.jsx @@ -9,22 +9,21 @@ import AceEditor from "react-ace"; import * as ace from "ace-builds/src-noconflict/ace"; import ExplicitSize from "metabase/components/ExplicitSize"; import { format } from "metabase-lib/expressions/format"; -import { suggest } from "metabase-lib/expressions/suggest"; import { processSource } from "metabase-lib/expressions/process"; import { diagnose } from "metabase-lib/expressions/diagnostics"; import { tokenize } from "metabase-lib/expressions/tokenizer"; import { isExpression } from "metabase-lib/expressions"; +import HelpText from "../ExpressionEditorHelpText"; +import ExpressionEditorSuggestions from "../ExpressionEditorSuggestions"; +import ExpressionMode from "../ExpressionMode"; +import { suggest } from "./suggest"; -import HelpText from "./ExpressionEditorHelpText"; -import ExpressionEditorSuggestions from "./ExpressionEditorSuggestions"; import { EditorContainer, EditorEqualsSign, } from "./ExpressionEditorTextfield.styled"; -import ExpressionMode from "./ExpressionMode"; - ace.config.set("basePath", "/assets/ui/"); const ErrorMessage = ({ error }) => { diff --git a/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.styled.jsx b/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield/ExpressionEditorTextfield.styled.jsx similarity index 100% rename from frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.styled.jsx rename to frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield/ExpressionEditorTextfield.styled.jsx diff --git a/frontend/src/metabase-lib/expressions/helper-text-strings.ts b/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield/helper-text-strings.ts similarity index 99% rename from frontend/src/metabase-lib/expressions/helper-text-strings.ts rename to frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield/helper-text-strings.ts index 94b87e9b1b1..073494e074b 100644 --- a/frontend/src/metabase-lib/expressions/helper-text-strings.ts +++ b/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield/helper-text-strings.ts @@ -1,5 +1,5 @@ import { t } from "ttag"; -import { HelpText } from "./types"; +import { HelpText } from "metabase-lib/expressions/types"; const helperTextStrings: HelpText[] = [ { diff --git a/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield/index.ts b/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield/index.ts new file mode 100644 index 00000000000..8365b9fa675 --- /dev/null +++ b/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield/index.ts @@ -0,0 +1 @@ +export { default } from "./ExpressionEditorTextfield"; diff --git a/frontend/src/metabase-lib/expressions/suggest.js b/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield/suggest.js similarity index 95% rename from frontend/src/metabase-lib/expressions/suggest.js rename to frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield/suggest.js index 1ecc15602d2..24a8491e04a 100644 --- a/frontend/src/metabase-lib/expressions/suggest.js +++ b/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield/suggest.js @@ -1,20 +1,23 @@ import _ from "underscore"; -import { getHelpText } from "metabase-lib/expressions/helper-text-strings"; -import { partialMatch, enclosingFunction } from "./completer"; +import { + partialMatch, + enclosingFunction, +} from "metabase-lib/expressions/completer"; import { EXPRESSION_FUNCTIONS, AGGREGATION_FUNCTIONS, MBQL_CLAUSES, getMBQLName, EDITOR_FK_SYMBOLS, -} from "./config"; +} from "metabase-lib/expressions/config"; import { getDimensionName, formatDimensionName, formatMetricName, formatSegmentName, -} from "./index"; +} from "metabase-lib/expressions/index"; +import { getHelpText } from "./helper-text-strings"; const suggestionText = func => { const { displayName, args } = func; diff --git a/frontend/test/metabase/lib/expressions/suggest.unit.spec.js b/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield/suggest.unit.spec.js similarity index 98% rename from frontend/test/metabase/lib/expressions/suggest.unit.spec.js rename to frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield/suggest.unit.spec.js index eacbbcf44ea..e39fc0b055c 100644 --- a/frontend/test/metabase/lib/expressions/suggest.unit.spec.js +++ b/frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield/suggest.unit.spec.js @@ -1,8 +1,10 @@ import _ from "underscore"; import { ORDERS, REVIEWS } from "__support__/sample_database_fixture"; -import { suggest as suggest_ } from "metabase-lib/expressions/suggest"; - -import { aggregationOpts, expressionOpts } from "./__support__/expressions"; +import { + aggregationOpts, + expressionOpts, +} from "../../../../../../test/metabase/lib/expressions/__support__/expressions"; +import { suggest as suggest_ } from "./suggest"; // custom metadata defined in __support__/sample_database_fixture const SEGMENTS_ORDERS = [{ text: "[Expensive Things]", type: "segments" }]; -- GitLab