From 68cbd23916d0377b3485e58fbfa3ae120dd9408e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=A4ggmark?= Date: Mon, 7 Jul 2025 09:23:27 +0200 Subject: [PATCH] Chore: reduces barrel files (#107512) * Chore: reduce barrel files * chore: fixes unit test * chore: fix broken path --- .betterer.results | 164 ------------------ e2e/cloud-plugins-suite/azure-monitor.spec.ts | 4 +- .../NestedFolderPicker/NestedFolderList.tsx | 2 +- .../BrowseDashboardsPage.tsx | 3 +- .../browse-dashboards/RecentlyDeletedPage.tsx | 3 +- .../api/browseDashboardsAPI.ts | 2 +- .../BrowseActions/BrowseActions.tsx | 3 +- .../components/BrowseView.tsx | 8 +- .../browse-dashboards/components/NameCell.tsx | 2 +- .../components/RecentlyDeletedActions.tsx | 3 +- .../components/SearchView.tsx | 3 +- .../features/browse-dashboards/state/index.ts | 3 - public/app/features/canvas/element.ts | 2 +- .../app/features/canvas/elements/button.tsx | 2 +- public/app/features/canvas/elements/cloud.tsx | 2 +- .../features/canvas/elements/droneFront.tsx | 4 +- .../features/canvas/elements/droneSide.tsx | 4 +- .../app/features/canvas/elements/droneTop.tsx | 4 +- public/app/features/canvas/elements/icon.tsx | 5 +- .../canvas/elements/parallelogram.tsx | 2 +- .../canvas/elements/server/server.tsx | 5 +- .../app/features/canvas/elements/triangle.tsx | 2 +- .../features/canvas/elements/windTurbine.tsx | 4 +- .../app/features/canvas/runtime/element.tsx | 2 +- public/app/features/canvas/runtime/frame.tsx | 2 +- public/app/features/canvas/runtime/scene.tsx | 2 +- .../app/features/connections/Connections.tsx | 14 +- .../connections/pages/DataSourcesListPage.tsx | 2 +- .../app/features/connections/pages/index.tsx | 6 - .../tabs/ConnectData/CardGrid/CardGrid.tsx | 10 +- .../correlations/Forms/AddCorrelationForm.tsx | 2 +- .../Forms/EditCorrelationForm.tsx | 2 +- .../correlations/components/Wizard/index.ts | 2 - .../dashboard-scene/scene/DashboardScene.tsx | 2 +- .../settings/AnnotationsEditView.tsx | 3 +- .../settings/VersionsEditView.test.tsx | 2 +- .../settings/VersionsEditView.tsx | 13 +- .../settings/annotations/index.tsx | 2 - .../settings/version-history/index.ts | 5 - .../components/AnnotationSettings/index.tsx | 2 - .../DashboardSettings/AnnotationsSettings.tsx | 3 +- .../DashboardSettings/LinksSettings.tsx | 3 +- .../DashboardSettings/VersionsSettings.tsx | 9 +- .../components/LinksSettings/index.tsx | 2 - .../VersionHistory/useDashboardRestore.tsx | 2 +- public/app/features/dataframe-import/index.ts | 2 - .../components/DataSourceDashboards.tsx | 2 +- .../components/DataSourcesList.tsx | 3 +- .../components/DataSourcesListHeader.tsx | 3 +- .../datasources/components/EditDataSource.tsx | 6 +- .../components/EditDataSourceActions.tsx | 2 +- .../datasources/components/NewDataSource.tsx | 9 +- .../components/picker/DataSourceModal.tsx | 6 +- .../app/features/datasources/state/index.ts | 6 - .../editors/ResourceDimensionEditor.tsx | 4 +- .../app/features/dimensions/editors/index.ts | 6 - public/app/features/dimensions/index.ts | 9 - public/app/features/dimensions/utils.ts | 12 +- .../features/explore/TraceView/TraceView.tsx | 14 +- .../components/CriticalPath/index.tsx | 2 +- .../CriticalPath/testCases/test1.ts | 4 +- .../CriticalPath/testCases/test2.ts | 3 +- .../CriticalPath/testCases/test3.ts | 3 +- .../CriticalPath/testCases/test4.ts | 3 +- .../CriticalPath/testCases/test5.ts | 3 +- .../CriticalPath/testCases/test6.ts | 3 +- .../CriticalPath/testCases/test7.ts | 3 +- .../CriticalPath/testCases/test8.ts | 3 +- .../CriticalPath/testCases/test9.ts | 3 +- .../utils/findLastFinishingChildSpan.tsx | 2 +- .../CriticalPath/utils/getChildOfSpans.tsx | 2 +- .../utils/sanitizeOverFlowingChildren.test.ts | 2 +- .../utils/sanitizeOverFlowingChildren.tsx | 2 +- .../TraceView/components/ScrollManager.tsx | 2 +- .../SearchBar/NextPrevResult.tsx | 2 +- .../SearchBar/TracePageSearchBar.tsx | 2 +- .../SpanFilters/SpanFilters.tsx | 2 +- .../SpanFilters/SpanFiltersTags.tsx | 2 +- .../SpanGraph/CanvasSpanGraph.tsx | 2 +- .../SpanGraph/ViewingLayer.tsx | 7 +- .../TracePageHeader/SpanGraph/index.tsx | 4 +- .../SpanGraph/render-into-canvas.tsx | 2 +- .../TracePageHeader/TracePageHeader.tsx | 2 +- .../TraceTimelineViewer/ListView/index.tsx | 2 +- .../TraceTimelineViewer/SpanBar.tsx | 3 +- .../TraceTimelineViewer/SpanBarRow.test.tsx | 3 +- .../TraceTimelineViewer/SpanBarRow.tsx | 5 +- .../SpanDetail/AccordianKeyValues.tsx | 2 +- .../SpanDetail/AccordianText.tsx | 2 +- .../SpanDetail/KeyValuesTable.tsx | 2 +- .../SpanDetail/SpanDetailLinkButtons.tsx | 3 +- .../TraceTimelineViewer/SpanDetail/index.tsx | 2 +- .../TraceTimelineViewer/SpanDetailRow.tsx | 2 +- .../SpanTreeOffset.test.tsx | 2 +- .../TraceTimelineViewer/SpanTreeOffset.tsx | 2 +- .../components/TraceTimelineViewer/Ticks.tsx | 2 +- .../TimelineColumnResizer.tsx | 5 +- .../TimelineViewingLayer.tsx | 5 +- .../VirtualizedTraceView.test.tsx | 2 +- .../VirtualizedTraceView.tsx | 6 +- .../components/TraceTimelineViewer/index.tsx | 5 +- .../components/TraceTimelineViewer/types.tsx | 3 +- .../TraceTimelineViewer/utils.test.ts | 2 +- .../components/TraceTimelineViewer/utils.tsx | 2 +- .../explore/TraceView/components/Tween.tsx | 2 +- .../TraceView/components/common/TraceName.tsx | 2 +- .../explore/TraceView/components/index.ts | 9 - .../components/model/find-trace-name.test.ts | 2 +- .../components/model/link-patterns.test.ts | 2 +- .../components/model/link-patterns.tsx | 2 +- .../components/model/trace-viewer.test.ts | 2 +- .../components/model/trace-viewer.ts | 2 +- .../model/transform-trace-data.test.ts | 2 +- .../components/model/transform-trace-data.tsx | 2 +- .../components/selectors/span.test.ts | 3 +- .../TraceView/components/types/index.tsx | 19 -- .../DraggableManager/DraggableManager.tsx | 2 +- .../DraggableManager/demo/DividerDemo.tsx | 2 +- .../demo/DraggableManagerDemo.tsx | 2 +- .../DraggableManager/demo/RegionDemo.tsx | 5 +- .../utils/DraggableManager/index.tsx | 17 -- .../utils/DraggableManager/types.tsx | 2 +- .../components/utils/filter-spans.test.ts | 2 +- .../components/utils/filter-spans.tsx | 3 +- .../utils/span-ancestor-ids.test.ts | 2 +- .../components/utils/span-ancestor-ids.tsx | 3 +- .../explore/TraceView/createSpanLink.test.ts | 2 +- .../explore/TraceView/createSpanLink.tsx | 5 +- .../TraceView/useChildrenState.test.ts | 2 +- .../explore/TraceView/useChildrenState.ts | 2 +- .../explore/TraceView/useDetailState.ts | 2 +- .../explore/TraceView/useSearch.test.ts | 2 +- .../features/explore/TraceView/useSearch.ts | 3 +- .../explore/TraceView/useViewRange.ts | 2 +- .../features/explore/TraceView/utils/tags.ts | 2 +- .../explore/TraceView/utils/transform.ts | 3 +- .../plugins/admin/components/Badges/index.ts | 5 - .../admin/components/ConnectionsTab.test.tsx | 14 +- .../admin/components/ConnectionsTab.tsx | 3 +- .../GetStartedWithDataSource.tsx | 2 +- .../components/InstallControls/index.tsx | 2 - .../admin/components/PluginActions.tsx | 2 +- .../admin/components/PluginListItemBadges.tsx | 12 +- .../admin/components/PluginSubtitle.tsx | 2 +- .../plugins/admin/hooks/usePluginInfo.tsx | 2 +- .../ConvertFieldTypeTransformerEditor.tsx | 2 +- .../extractFields/extractFields.ts | 2 +- .../azuremonitor/azureMetadata/index.ts | 2 - .../azure_log_analytics_datasource.test.ts | 2 +- .../azure_log_analytics_datasource.ts | 11 +- .../azure_log_analytics/mocks/schema.ts | 3 +- .../azuremonitor/azure_log_analytics/utils.ts | 2 +- .../azure_monitor_datasource.test.ts | 2 +- .../azure_monitor/azure_monitor_datasource.ts | 6 +- .../azure_monitor/response_parser.ts | 5 +- .../azuremonitor/azure_monitor/url_builder.ts | 3 +- .../azure_resource_graph_datasource.test.ts | 2 +- .../azure_resource_graph_datasource.ts | 7 +- .../ArgQueryEditor/ArgQueryEditor.tsx | 3 +- .../components/ArgQueryEditor/QueryField.tsx | 2 +- .../ArgQueryEditor/SubscriptionField.tsx | 3 +- .../ConfigEditor/BasicLogsToggle.tsx | 2 +- .../components/ConfigEditor/ConfigEditor.tsx | 2 +- .../ConfigEditor/DefaultSubscription.tsx | 2 +- .../components/ConfigEditor/MonitorConfig.tsx | 2 +- .../LogsQueryBuilder/AggregationSection.tsx | 3 +- .../LogsQueryBuilder/FilterSection.tsx | 3 +- .../LogsQueryBuilder/FuzzySearch.tsx | 3 +- .../LogsQueryBuilder/GroupBySection.tsx | 3 +- .../LogsQueryBuilder/LogsQueryBuilder.tsx | 9 +- .../LogsQueryBuilder/OrderBySection.tsx | 3 +- .../LogsQueryBuilder/TableSection.tsx | 9 +- .../LogsQueryBuilder/expressions.ts | 2 +- .../components/LogsQueryBuilder/utils.ts | 3 +- .../LogsQueryEditor/AzureCheatSheet.tsx | 10 +- .../LogsQueryEditor/LogsManagement.tsx | 2 +- .../LogsQueryEditor/LogsQueryEditor.tsx | 11 +- .../components/LogsQueryEditor/QueryField.tsx | 2 +- .../LogsQueryEditor/TimeManagement.tsx | 2 +- .../LogsQueryEditor/setQueryValue.ts | 2 +- .../LogsQueryEditor/useMigrations.ts | 2 +- .../AdvancedResourcePicker.tsx | 2 +- .../AggregationField.test.tsx | 2 +- .../MetricsQueryEditor/AggregationField.tsx | 2 +- .../MetricsQueryEditor/DimensionFields.tsx | 3 +- .../MetricsQueryEditor/LegendFormatField.tsx | 2 +- .../MetricNameField.test.tsx | 2 +- .../MetricsQueryEditor/MetricNameField.tsx | 2 +- .../MetricNamespaceField.test.tsx | 2 +- .../MetricNamespaceField.tsx | 2 +- .../MetricsQueryEditor/MetricsQueryEditor.tsx | 5 +- .../TimeGrainField.test.tsx | 2 +- .../MetricsQueryEditor/TimeGrainField.tsx | 2 +- .../MetricsQueryEditor/TopField.tsx | 2 +- .../MetricsQueryEditor/dataHooks.test.ts | 3 +- .../MetricsQueryEditor/dataHooks.ts | 3 +- .../MetricsQueryEditor/setQueryValue.ts | 2 +- .../QueryEditor/QueryEditor.test.tsx | 2 +- .../components/QueryEditor/QueryEditor.tsx | 9 +- .../components/QueryEditor/QueryHeader.tsx | 2 +- .../QueryEditor/usePreparedQuery.ts | 2 +- .../ResourceField/ResourceField.tsx | 3 +- .../ResourcePicker/AdvancedMulti.tsx | 2 +- .../ResourcePicker/ResourcePicker.tsx | 2 +- .../components/ResourcePicker/utils.ts | 2 +- .../components/TracesQueryEditor/Filter.tsx | 2 +- .../TracesQueryEditor/Filters.test.tsx | 2 +- .../components/TracesQueryEditor/Filters.tsx | 3 +- .../TracesQueryEditor/TraceTypeField.tsx | 2 +- .../TracesQueryEditor/TracesQueryEditor.tsx | 3 +- .../TracesQueryEditor/setQueryValue.ts | 2 +- .../GrafanaTemplateVariableFn.tsx | 2 +- .../VariableEditor/VariableEditor.test.tsx | 2 +- .../VariableEditor/VariableEditor.tsx | 3 +- .../components/shared/FormatAsField.test.tsx | 2 +- .../components/shared/FormatAsField.tsx | 3 +- .../datasource/azuremonitor/credentials.ts | 2 +- .../azuremonitor/datasource.test.ts | 2 +- .../datasource/azuremonitor/datasource.ts | 3 +- .../grafanaTemplateVariableFns.ts | 2 +- .../grafanaTemplateVariables.test.ts | 2 +- .../mocks/argResourcePickerResponse.ts | 2 +- .../azuremonitor/mocks/datasource.ts | 2 +- .../azuremonitor/mocks/datasourceSettings.ts | 2 +- .../azuremonitor/mocks/instanceSettings.ts | 2 +- .../datasource/azuremonitor/mocks/query.ts | 2 +- .../datasource/azuremonitor/module.test.ts | 2 +- .../plugins/datasource/azuremonitor/module.ts | 3 +- .../resourcePicker/resourcePickerData.test.ts | 4 +- .../resourcePicker/resourcePickerData.ts | 8 +- .../datasource/azuremonitor/types/index.ts | 3 - .../datasource/azuremonitor/utils/common.ts | 2 +- .../azuremonitor/utils/messageFromError.ts | 2 +- .../utils/migrateAnnotation.test.ts | 2 +- .../azuremonitor/utils/migrateAnnotation.ts | 2 +- .../azuremonitor/utils/migrateQuery.test.ts | 2 +- .../azuremonitor/utils/migrateQuery.ts | 2 +- .../azuremonitor/utils/useLastError.ts | 2 +- .../datasource/azuremonitor/variables.test.ts | 2 +- .../datasource/azuremonitor/variables.ts | 3 +- .../components/AnnotationQueryEditor.tsx | 3 +- .../components/GraphPeriod.tsx | 2 +- .../components/QueryEditor.tsx | 6 +- .../components/VariableQueryEditor.tsx | 2 +- .../cloud-monitoring/components/index.ts | 15 -- .../completion/statementPosition.test.ts | 114 ++++++------ .../completion/tokenUtils.test.ts | 52 +++--- .../CompletionItemProvider.test.ts | 9 +- .../completion/CompletionItemProvider.test.ts | 27 +-- .../logs/completion/statementPosition.test.ts | 146 ++++++++-------- .../completion/CompletionItemProvider.test.ts | 19 +- .../completion/statementPosition.test.ts | 37 ++-- .../monarch/linkedTokenBuilder.test.ts | 9 +- .../commentOnlyQuery.ts | 2 +- .../mocks/cloudwatch-logs-test-data/empty.ts | 2 +- .../cloudwatch-logs-test-data/filterQuery.ts | 2 +- .../mocks/cloudwatch-logs-test-data/index.ts | 8 - .../multiLineFullQuery.ts | 2 +- .../newCommandQuery.ts | 2 +- .../singleLineFullQuery.ts | 2 +- .../cloudwatch-logs-test-data/sortQuery.ts | 2 +- .../whitespaceQuery.ts | 2 +- .../mocks/cloudwatch-sql-test-data/index.ts | 5 - .../multiLineFullQuery.ts | 2 +- ...ultiLineIncompleteQueryWithoutNamespace.ts | 2 +- .../singleLineEmptyQuery.ts | 2 +- .../singleLineFullQuery.ts | 2 +- .../singleLineTwoQueries.ts | 2 +- .../afterLabelValue.ts | 2 +- .../mocks/dynamic-label-test-data/index.ts | 2 - .../insideLabelValue.ts | 2 +- .../mocks/metric-math-test-data/index.ts | 6 - .../cloudwatch/mocks/monarch/Monaco.ts | 69 +++++--- .../elasticsearch/LanguageProvider.test.ts | 4 +- .../elasticsearch/LanguageProvider.ts | 8 +- .../elasticsearch/QueryBuilder.test.ts | 7 +- .../datasource/elasticsearch/QueryBuilder.ts | 30 ++-- .../elasticsearch/components/MetricPicker.tsx | 2 +- .../QueryEditor/AnnotationQueryEditor.tsx | 6 +- .../BucketAggregationEditor.tsx | 2 +- .../DateHistogramSettingsEditor.test.tsx | 3 +- .../DateHistogramSettingsEditor.tsx | 2 +- .../FiltersSettingsEditor/index.tsx | 2 +- .../FiltersSettingsEditor/state/actions.ts | 2 +- .../state/reducer.test.ts | 2 +- .../FiltersSettingsEditor/state/reducer.ts | 3 +- .../FiltersSettingsEditor/utils.ts | 2 +- .../TermsSettingsEditor.test.tsx | 13 +- .../SettingsEditor/TermsSettingsEditor.tsx | 8 +- .../SettingsEditor/index.tsx | 2 +- .../SettingsEditor/useDescription.ts | 3 +- .../BucketAggregationsEditor/aggregations.ts | 2 +- .../BucketAggregationsEditor/index.tsx | 2 +- .../BucketAggregationsEditor/state/actions.ts | 6 +- .../state/reducer.test.ts | 23 ++- .../BucketAggregationsEditor/state/reducer.ts | 5 +- .../ElasticsearchQueryContext.test.tsx | 6 +- .../QueryEditor/ElasticsearchQueryContext.tsx | 12 +- .../MetricEditor.test.tsx | 9 +- .../MetricAggregationsEditor/MetricEditor.tsx | 2 +- .../BucketScriptSettingsEditor/index.tsx | 2 +- .../state/reducer.test.ts | 3 +- .../state/reducer.ts | 3 +- .../BucketScriptSettingsEditor/utils.ts | 2 +- .../SettingsEditor/SettingField.tsx | 5 +- .../TopMetricsSettingsEditor.tsx | 2 +- .../SettingsEditor/index.test.tsx | 6 +- .../SettingsEditor/index.tsx | 2 +- .../SettingsEditor/useDescription.ts | 3 +- .../MetricAggregationsEditor/aggregations.ts | 13 +- .../MetricAggregationsEditor/index.tsx | 2 +- .../MetricAggregationsEditor/state/actions.ts | 4 +- .../state/reducer.test.ts | 32 ++-- .../MetricAggregationsEditor/state/reducer.ts | 8 +- .../MetricAggregationsEditor/utils.ts | 3 +- .../QueryEditorSpecialMetricRow.tsx | 2 +- .../QueryEditor/QueryTypeSelector.tsx | 3 +- .../components/QueryEditor/index.test.tsx | 14 +- .../components/QueryEditor/index.tsx | 7 +- .../components/QueryEditor/state.test.ts | 26 +-- .../components/QueryEditor/state.ts | 10 +- .../elasticsearch/datasource.test.ts | 36 ++-- .../datasource/elasticsearch/datasource.ts | 64 +++---- .../elasticsearch/hooks/useFields.test.tsx | 4 +- .../elasticsearch/hooks/useFields.ts | 2 +- .../elasticsearch/hooks/useNextId.test.tsx | 4 +- .../elasticsearch/hooks/useNextId.ts | 2 +- .../plugins/datasource/elasticsearch/mocks.ts | 5 +- .../datasource/elasticsearch/module.ts | 4 +- .../datasource/elasticsearch/queryDef.ts | 10 +- .../datasource/elasticsearch/tracking.test.ts | 4 +- .../datasource/elasticsearch/tracking.ts | 15 +- .../plugins/datasource/elasticsearch/types.ts | 3 - .../datasource/elasticsearch/utils.test.ts | 10 +- .../plugins/datasource/elasticsearch/utils.ts | 4 +- .../QueryEditor.tsx | 3 +- .../components/index.ts | 2 - .../grafana/components/QueryEditor.tsx | 9 +- .../app/plugins/datasource/grafana/utils.ts | 4 +- .../app/plugins/panel/candlestick/fields.ts | 2 +- .../panel/canvas/components/SetBackground.tsx | 2 +- .../plugins/panel/canvas/editor/options.ts | 4 +- .../panel/geomap/components/MarkersLegend.tsx | 2 +- .../panel/geomap/editor/StyleEditor.tsx | 12 +- .../geomap/layers/data/geojsonDynamic.ts | 2 +- .../panel/geomap/layers/data/heatMap.tsx | 4 +- .../panel/geomap/layers/data/photosLayer.tsx | 2 +- .../panel/geomap/style/markers.test.ts | 4 +- .../app/plugins/panel/geomap/style/markers.ts | 2 +- .../app/plugins/panel/geomap/style/types.ts | 2 +- .../plugins/panel/geomap/utils/utils.test.ts | 8 +- .../app/plugins/panel/geomap/utils/utils.ts | 5 +- .../app/plugins/panel/traces/TracesPanel.tsx | 2 +- public/app/plugins/panel/trend/TrendPanel.tsx | 2 +- 354 files changed, 941 insertions(+), 1159 deletions(-) delete mode 100644 public/app/features/browse-dashboards/state/index.ts delete mode 100644 public/app/features/connections/pages/index.tsx delete mode 100644 public/app/features/correlations/components/Wizard/index.ts delete mode 100644 public/app/features/dashboard-scene/settings/annotations/index.tsx delete mode 100644 public/app/features/dashboard-scene/settings/version-history/index.ts delete mode 100644 public/app/features/dashboard/components/AnnotationSettings/index.tsx delete mode 100644 public/app/features/dashboard/components/LinksSettings/index.tsx delete mode 100644 public/app/features/dataframe-import/index.ts delete mode 100644 public/app/features/datasources/state/index.ts delete mode 100644 public/app/features/dimensions/editors/index.ts delete mode 100644 public/app/features/dimensions/index.ts delete mode 100644 public/app/features/explore/TraceView/components/index.ts delete mode 100644 public/app/features/explore/TraceView/components/types/index.tsx delete mode 100644 public/app/features/explore/TraceView/components/utils/DraggableManager/index.tsx delete mode 100644 public/app/features/plugins/admin/components/Badges/index.ts delete mode 100644 public/app/features/plugins/admin/components/InstallControls/index.tsx delete mode 100644 public/app/plugins/datasource/azuremonitor/azureMetadata/index.ts delete mode 100644 public/app/plugins/datasource/azuremonitor/types/index.ts delete mode 100644 public/app/plugins/datasource/cloud-monitoring/components/index.ts delete mode 100644 public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-logs-test-data/index.ts delete mode 100644 public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-sql-test-data/index.ts delete mode 100644 public/app/plugins/datasource/cloudwatch/mocks/dynamic-label-test-data/index.ts delete mode 100644 public/app/plugins/datasource/cloudwatch/mocks/metric-math-test-data/index.ts delete mode 100644 public/app/plugins/datasource/grafana-testdata-datasource/components/index.ts diff --git a/.betterer.results b/.betterer.results index bfa5bfe7558..5b4e262dced 100644 --- a/.betterer.results +++ b/.betterer.results @@ -1499,22 +1499,9 @@ exports[`better eslint`] = { "public/app/features/browse-dashboards/components/NewFolderForm.tsx:5381": [ [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] ], - "public/app/features/browse-dashboards/state/index.ts:5381": [ - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "0"], - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "1"], - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "2"] - ], "public/app/features/connections/components/ConnectionsRedirectNotice/index.ts:5381": [ [0, 0, 0, "Do not use export all (\`export * from ...\`)", "0"] ], - "public/app/features/connections/pages/index.tsx:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`./AddNewConnectionPage\`)", "0"], - [0, 0, 0, "Do not re-export imported variable (\`./DataSourceDashboardsPage\`)", "1"], - [0, 0, 0, "Do not re-export imported variable (\`./DataSourceDetailsPage\`)", "2"], - [0, 0, 0, "Do not re-export imported variable (\`./DataSourcesListPage\`)", "3"], - [0, 0, 0, "Do not re-export imported variable (\`./EditDataSourcePage\`)", "4"], - [0, 0, 0, "Do not re-export imported variable (\`./NewDataSourcePage\`)", "5"] - ], "public/app/features/connections/tabs/ConnectData/CardGrid/CardGrid.tsx:5381": [ [0, 0, 0, "Add noMargin prop to Card components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] ], @@ -1568,10 +1555,6 @@ exports[`better eslint`] = { "public/app/features/correlations/components/EmptyCorrelationsCTA.tsx:5381": [ [0, 0, 0, "Add noMargin prop to Card components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] ], - "public/app/features/correlations/components/Wizard/index.ts:5381": [ - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "0"], - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "1"] - ], "public/app/features/correlations/mocks/useCorrelations.mocks.ts:5381": [ [0, 0, 0, "Do not use any type assertions.", "0"] ], @@ -1730,10 +1713,6 @@ exports[`better eslint`] = { [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "4"], [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "5"] ], - "public/app/features/dashboard-scene/settings/annotations/index.tsx:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`./AnnotationSettingsEdit\`)", "0"], - [0, 0, 0, "Do not re-export imported variable (\`./AnnotationSettingsList\`)", "1"] - ], "public/app/features/dashboard-scene/settings/links/DashboardLinkForm.tsx:5381": [ [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], @@ -1781,13 +1760,6 @@ exports[`better eslint`] = { [0, 0, 0, "Do not use any type assertions.", "0"], [0, 0, 0, "Unexpected any. Specify a different type.", "1"] ], - "public/app/features/dashboard-scene/settings/version-history/index.ts:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`./HistorySrv\`)", "0"], - [0, 0, 0, "Do not re-export imported variable (\`./VersionHistoryButtons\`)", "1"], - [0, 0, 0, "Do not re-export imported variable (\`./VersionHistoryComparison\`)", "2"], - [0, 0, 0, "Do not re-export imported variable (\`./VersionHistoryHeader\`)", "3"], - [0, 0, 0, "Do not re-export imported variable (\`./VersionHistoryTable\`)", "4"] - ], "public/app/features/dashboard-scene/sharing/ShareButton/share-externally/EmailShare/ConfigEmailSharing/ConfigEmailSharing.tsx:5381": [ [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"] ], @@ -1870,10 +1842,6 @@ exports[`better eslint`] = { [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "5"], [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "6"] ], - "public/app/features/dashboard/components/AnnotationSettings/index.tsx:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`./AnnotationSettingsEdit\`)", "0"], - [0, 0, 0, "Do not re-export imported variable (\`./AnnotationSettingsList\`)", "1"] - ], "public/app/features/dashboard/components/DashExportModal/DashboardExporter.test.ts:5381": [ [0, 0, 0, "Unexpected any. Specify a different type.", "0"], [0, 0, 0, "Unexpected any. Specify a different type.", "1"], @@ -1956,10 +1924,6 @@ exports[`better eslint`] = { "public/app/features/dashboard/components/Inspector/PanelInspector.tsx:5381": [ [0, 0, 0, "Do not use any type assertions.", "0"] ], - "public/app/features/dashboard/components/LinksSettings/index.tsx:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`./LinkSettingsEdit\`)", "0"], - [0, 0, 0, "Do not re-export imported variable (\`./LinkSettingsList\`)", "1"] - ], "public/app/features/dashboard/components/PanelEditor/DynamicConfigValueEditor.tsx:5381": [ [0, 0, 0, "\'HorizontalGroup\' import from \'@grafana/ui\' is restricted from being used by a pattern. Use Stack component instead.", "0"], [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"] @@ -2228,10 +2192,6 @@ exports[`better eslint`] = { [0, 0, 0, "Unexpected any. Specify a different type.", "2"], [0, 0, 0, "Unexpected any. Specify a different type.", "3"] ], - "public/app/features/dataframe-import/index.ts:5381": [ - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "0"], - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "1"] - ], "public/app/features/datasources/components/DataSourceTypeCard.tsx:5381": [ [0, 0, 0, "Add noMargin prop to Card components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], [0, 0, 0, "Use data-testid for E2E selectors instead of aria-label", "1"] @@ -2251,14 +2211,6 @@ exports[`better eslint`] = { [0, 0, 0, "Do not use any type assertions.", "0"], [0, 0, 0, "Unexpected any. Specify a different type.", "1"] ], - "public/app/features/datasources/state/index.ts:5381": [ - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "0"], - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "1"], - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "2"], - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "3"], - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "4"], - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "5"] - ], "public/app/features/datasources/state/navModel.ts:5381": [ [0, 0, 0, "Do not use any type assertions.", "0"], [0, 0, 0, "Unexpected any. Specify a different type.", "1"] @@ -2299,24 +2251,6 @@ exports[`better eslint`] = { "public/app/features/dimensions/editors/ValueMappingsEditor/ValueMappingsEditor.tsx:5381": [ [0, 0, 0, "\'VerticalGroup\' import from \'@grafana/ui\' is restricted from being used by a pattern. Use Stack component instead.", "0"] ], - "public/app/features/dimensions/editors/index.ts:5381": [ - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "0"], - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "1"], - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "2"], - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "3"], - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "4"], - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "5"] - ], - "public/app/features/dimensions/index.ts:5381": [ - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "0"], - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "1"], - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "2"], - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "3"], - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "4"], - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "5"], - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "6"], - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "7"] - ], "public/app/features/dimensions/scale.ts:5381": [ [0, 0, 0, "Do not use any type assertions.", "0"] ], @@ -2362,17 +2296,6 @@ exports[`better eslint`] = { "public/app/features/explore/TraceView/components/demo/trace-generators.ts:5381": [ [0, 0, 0, "Do not use any type assertions.", "0"] ], - "public/app/features/explore/TraceView/components/index.ts:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`./TracePageHeader\`)", "0"], - [0, 0, 0, "Do not re-export imported variable (\`./TraceTimelineViewer/SpanDetail/DetailState\`)", "1"], - [0, 0, 0, "Do not re-export imported variable (\`./TraceTimelineViewer\`)", "2"], - [0, 0, 0, "Do not re-export imported variable (\`./model/transform-trace-data\`)", "3"], - [0, 0, 0, "Do not re-export imported variable (\`./settings/SpanBarSettings\`)", "4"], - [0, 0, 0, "Do not re-export imported variable (\`./utils/filter-spans\`)", "5"], - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "6"], - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "7"], - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "8"] - ], "public/app/features/explore/TraceView/components/model/ddg/types.tsx:5381": [ [0, 0, 0, "Do not re-export imported variable (\`./PathElem\`)", "0"] ], @@ -2393,21 +2316,9 @@ exports[`better eslint`] = { "public/app/features/explore/TraceView/components/model/transform-trace-data.tsx:5381": [ [0, 0, 0, "Do not use any type assertions.", "0"] ], - "public/app/features/explore/TraceView/components/types/index.tsx:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`../settings/SpanBarSettings\`)", "0"], - [0, 0, 0, "Do not re-export imported variable (\`./TNil\`)", "1"], - [0, 0, 0, "Do not re-export imported variable (\`./TTraceTimeline\`)", "2"], - [0, 0, 0, "Do not re-export imported variable (\`./links\`)", "3"], - [0, 0, 0, "Do not re-export imported variable (\`./trace\`)", "4"] - ], "public/app/features/explore/TraceView/components/utils/DraggableManager/demo/index.tsx:5381": [ [0, 0, 0, "Do not re-export imported variable (\`./DraggableManagerDemo\`)", "0"] ], - "public/app/features/explore/TraceView/components/utils/DraggableManager/index.tsx:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`./DraggableManager\`)", "0"], - [0, 0, 0, "Do not re-export imported variable (\`./EUpdateTypes\`)", "1"], - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "2"] - ], "public/app/features/explore/TraceView/createSpanLink.tsx:5381": [ [0, 0, 0, "Do not use any type assertions.", "0"], [0, 0, 0, "Do not use any type assertions.", "1"] @@ -2602,23 +2513,12 @@ exports[`better eslint`] = { [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "2"] ], - "public/app/features/plugins/admin/components/Badges/index.ts:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`./PluginDeprecatedBadge\`)", "0"], - [0, 0, 0, "Do not re-export imported variable (\`./PluginDisabledBadge\`)", "1"], - [0, 0, 0, "Do not re-export imported variable (\`./PluginEnterpriseBadge\`)", "2"], - [0, 0, 0, "Do not re-export imported variable (\`./PluginInstallBadge\`)", "3"], - [0, 0, 0, "Do not re-export imported variable (\`./PluginUpdateAvailableBadge\`)", "4"] - ], "public/app/features/plugins/admin/components/GetStartedWithPlugin/GetStartedWithDataSource.tsx:5381": [ [0, 0, 0, "Do not use any type assertions.", "0"] ], "public/app/features/plugins/admin/components/GetStartedWithPlugin/index.ts:5381": [ [0, 0, 0, "Do not re-export imported variable (\`./GetStartedWithPlugin\`)", "0"] ], - "public/app/features/plugins/admin/components/InstallControls/index.tsx:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`./InstallControlsButton\`)", "0"], - [0, 0, 0, "Do not re-export imported variable (\`./InstallControlsWarning\`)", "1"] - ], "public/app/features/plugins/admin/components/PluginDetailsPage.tsx:5381": [ [0, 0, 0, "Do not use any type assertions.", "0"] ], @@ -3142,10 +3042,6 @@ exports[`better eslint`] = { [0, 0, 0, "Unexpected any. Specify a different type.", "0"], [0, 0, 0, "Unexpected any. Specify a different type.", "1"] ], - "public/app/plugins/datasource/azuremonitor/azureMetadata/index.ts:5381": [ - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "0"], - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "1"] - ], "public/app/plugins/datasource/azuremonitor/components/ArgQueryEditor/index.tsx:5381": [ [0, 0, 0, "Do not re-export imported variable (\`./ArgQueryEditor\`)", "0"] ], @@ -3227,11 +3123,6 @@ exports[`better eslint`] = { "public/app/plugins/datasource/azuremonitor/mocks/variables.ts:5381": [ [0, 0, 0, "Do not use any type assertions.", "0"] ], - "public/app/plugins/datasource/azuremonitor/types/index.ts:5381": [ - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "0"], - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "1"], - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "2"] - ], "public/app/plugins/datasource/azuremonitor/types/query.ts:5381": [ [0, 0, 0, "Do not re-export imported variable (\`../dataquery.gen\`)", "0"], [0, 0, 0, "Do not re-export imported variable (\`../dataquery.gen\`)", "1"], @@ -3263,23 +3154,6 @@ exports[`better eslint`] = { "public/app/plugins/datasource/cloud-monitoring/components/VariableQueryEditor.tsx:5381": [ [0, 0, 0, "Do not use any type assertions.", "0"] ], - "public/app/plugins/datasource/cloud-monitoring/components/index.ts:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`./Aggregation\`)", "0"], - [0, 0, 0, "Do not re-export imported variable (\`./AliasBy\`)", "1"], - [0, 0, 0, "Do not re-export imported variable (\`./AlignmentFunction\`)", "2"], - [0, 0, 0, "Do not re-export imported variable (\`./Alignment\`)", "3"], - [0, 0, 0, "Do not re-export imported variable (\`./AnnotationsHelp\`)", "4"], - [0, 0, 0, "Do not re-export imported variable (\`./Fields\`)", "5"], - [0, 0, 0, "Do not re-export imported variable (\`./GroupBy\`)", "6"], - [0, 0, 0, "Do not re-export imported variable (\`./LabelFilter\`)", "7"], - [0, 0, 0, "Do not re-export imported variable (\`./MQLQueryEditor\`)", "8"], - [0, 0, 0, "Do not re-export imported variable (\`./MetricQueryEditor\`)", "9"], - [0, 0, 0, "Do not re-export imported variable (\`./PeriodSelect\`)", "10"], - [0, 0, 0, "Do not re-export imported variable (\`./Preprocessor\`)", "11"], - [0, 0, 0, "Do not re-export imported variable (\`./Project\`)", "12"], - [0, 0, 0, "Do not re-export imported variable (\`./SLOQueryEditor\`)", "13"], - [0, 0, 0, "Do not re-export imported variable (\`./VisualMetricQueryEditor\`)", "14"] - ], "public/app/plugins/datasource/cloud-monitoring/datasource.ts:5381": [ [0, 0, 0, "Do not use any type assertions.", "0"], [0, 0, 0, "Do not use any type assertions.", "1"], @@ -3377,16 +3251,6 @@ exports[`better eslint`] = { "public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-logs-test-data/filterQuery.ts:5381": [ [0, 0, 0, "Do not use any type assertions.", "0"] ], - "public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-logs-test-data/index.ts:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`./commentOnlyQuery\`)", "0"], - [0, 0, 0, "Do not re-export imported variable (\`./empty\`)", "1"], - [0, 0, 0, "Do not re-export imported variable (\`./filterQuery\`)", "2"], - [0, 0, 0, "Do not re-export imported variable (\`./multiLineFullQuery\`)", "3"], - [0, 0, 0, "Do not re-export imported variable (\`./newCommandQuery\`)", "4"], - [0, 0, 0, "Do not re-export imported variable (\`./singleLineFullQuery\`)", "5"], - [0, 0, 0, "Do not re-export imported variable (\`./sortQuery\`)", "6"], - [0, 0, 0, "Do not re-export imported variable (\`./whitespaceQuery\`)", "7"] - ], "public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-logs-test-data/multiLineFullQuery.ts:5381": [ [0, 0, 0, "Do not use any type assertions.", "0"] ], @@ -3429,13 +3293,6 @@ exports[`better eslint`] = { [0, 0, 0, "Do not use any type assertions.", "16"], [0, 0, 0, "Do not use any type assertions.", "17"] ], - "public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-sql-test-data/index.ts:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`./multiLineFullQuery\`)", "0"], - [0, 0, 0, "Do not re-export imported variable (\`./multiLineIncompleteQueryWithoutNamespace\`)", "1"], - [0, 0, 0, "Do not re-export imported variable (\`./singleLineEmptyQuery\`)", "2"], - [0, 0, 0, "Do not re-export imported variable (\`./singleLineFullQuery\`)", "3"], - [0, 0, 0, "Do not re-export imported variable (\`./singleLineTwoQueries\`)", "4"] - ], "public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-sql-test-data/multiLineFullQuery.ts:5381": [ [0, 0, 0, "Do not use any type assertions.", "0"] ], @@ -3457,24 +3314,12 @@ exports[`better eslint`] = { "public/app/plugins/datasource/cloudwatch/mocks/dynamic-label-test-data/afterLabelValue.ts:5381": [ [0, 0, 0, "Do not use any type assertions.", "0"] ], - "public/app/plugins/datasource/cloudwatch/mocks/dynamic-label-test-data/index.ts:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`./afterLabelValue\`)", "0"], - [0, 0, 0, "Do not re-export imported variable (\`./insideLabelValue\`)", "1"] - ], "public/app/plugins/datasource/cloudwatch/mocks/dynamic-label-test-data/insideLabelValue.ts:5381": [ [0, 0, 0, "Do not use any type assertions.", "0"] ], "public/app/plugins/datasource/cloudwatch/mocks/metric-math-test-data/afterFunctionQuery.ts:5381": [ [0, 0, 0, "Do not use any type assertions.", "0"] ], - "public/app/plugins/datasource/cloudwatch/mocks/metric-math-test-data/index.ts:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`./afterFunctionQuery\`)", "0"], - [0, 0, 0, "Do not re-export imported variable (\`./secondArgAfterSearchQuery\`)", "1"], - [0, 0, 0, "Do not re-export imported variable (\`./secondArgQuery\`)", "2"], - [0, 0, 0, "Do not re-export imported variable (\`./singleLineEmptyQuery\`)", "3"], - [0, 0, 0, "Do not re-export imported variable (\`./thirdArgAfterSearchQuery\`)", "4"], - [0, 0, 0, "Do not re-export imported variable (\`./withinStringQuery\`)", "5"] - ], "public/app/plugins/datasource/cloudwatch/mocks/metric-math-test-data/secondArgAfterSearchQuery.ts:5381": [ [0, 0, 0, "Do not use any type assertions.", "0"] ], @@ -3582,11 +3427,6 @@ exports[`better eslint`] = { "public/app/plugins/datasource/elasticsearch/test-helpers/render.tsx:5381": [ [0, 0, 0, "Do not use any type assertions.", "0"] ], - "public/app/plugins/datasource/elasticsearch/types.ts:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`./dataquery.gen\`)", "0"], - [0, 0, 0, "Do not re-export imported variable (\`ElasticsearchQuery\`)", "1"], - [0, 0, 0, "Do not use export all (\`export * from ...\`)", "2"] - ], "public/app/plugins/datasource/grafana-postgresql-datasource/configuration/ConfigurationEditor.tsx:5381": [ [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "0"], [0, 0, 0, "Add noMargin prop to Field components to remove built-in margins. Use layout components like Stack or Grid with the gap prop instead for consistent spacing.", "1"], @@ -3627,10 +3467,6 @@ exports[`better eslint`] = { "public/app/plugins/datasource/grafana-testdata-datasource/components/SimulationSchemaForm.tsx:5381": [ [0, 0, 0, "Unexpected any. Specify a different type.", "0"] ], - "public/app/plugins/datasource/grafana-testdata-datasource/components/index.ts:5381": [ - [0, 0, 0, "Do not re-export imported variable (\`./RandomWalkEditor\`)", "0"], - [0, 0, 0, "Do not re-export imported variable (\`./StreamingClientEditor\`)", "1"] - ], "public/app/plugins/datasource/grafana-testdata-datasource/datasource.ts:5381": [ [0, 0, 0, "Do not use any type assertions.", "0"], [0, 0, 0, "Unexpected any. Specify a different type.", "1"] diff --git a/e2e/cloud-plugins-suite/azure-monitor.spec.ts b/e2e/cloud-plugins-suite/azure-monitor.spec.ts index d2e1a074b27..469bdbfc9ed 100644 --- a/e2e/cloud-plugins-suite/azure-monitor.spec.ts +++ b/e2e/cloud-plugins-suite/azure-monitor.spec.ts @@ -5,11 +5,11 @@ import { v4 as uuidv4 } from 'uuid'; import { selectors as rawSelectors } from '@grafana/e2e-selectors'; import { selectors } from '../../public/app/plugins/datasource/azuremonitor/e2e/selectors'; +import { AzureQueryType } from '../../public/app/plugins/datasource/azuremonitor/types/query'; import { AzureMonitorDataSourceJsonData, AzureMonitorDataSourceSecureJsonData, - AzureQueryType, -} from '../../public/app/plugins/datasource/azuremonitor/types'; +} from '../../public/app/plugins/datasource/azuremonitor/types/types'; import { e2e } from '../utils'; const provisioningPath = `provisioning/datasources/azmonitor-ds.yaml`; diff --git a/public/app/core/components/NestedFolderPicker/NestedFolderList.tsx b/public/app/core/components/NestedFolderPicker/NestedFolderList.tsx index 910bc761858..4a322b6ee27 100644 --- a/public/app/core/components/NestedFolderPicker/NestedFolderList.tsx +++ b/public/app/core/components/NestedFolderPicker/NestedFolderList.tsx @@ -9,7 +9,7 @@ import { GrafanaTheme2 } from '@grafana/data'; import { Trans } from '@grafana/i18n'; import { IconButton, useStyles2, Text } from '@grafana/ui'; import { Indent } from 'app/core/components/Indent/Indent'; -import { childrenByParentUIDSelector, rootItemsSelector } from 'app/features/browse-dashboards/state'; +import { childrenByParentUIDSelector, rootItemsSelector } from 'app/features/browse-dashboards/state/hooks'; import { DashboardsTreeItem } from 'app/features/browse-dashboards/types'; import { DashboardViewItem } from 'app/features/search/types'; import { useSelector } from 'app/types'; diff --git a/public/app/features/browse-dashboards/BrowseDashboardsPage.tsx b/public/app/features/browse-dashboards/BrowseDashboardsPage.tsx index 15fd546a36b..76b7fe057b9 100644 --- a/public/app/features/browse-dashboards/BrowseDashboardsPage.tsx +++ b/public/app/features/browse-dashboards/BrowseDashboardsPage.tsx @@ -27,7 +27,8 @@ import CreateNewButton from './components/CreateNewButton'; import { FolderActionsButton } from './components/FolderActionsButton'; import { SearchView } from './components/SearchView'; import { getFolderPermissions } from './permissions'; -import { setAllSelection, useHasSelection } from './state'; +import { useHasSelection } from './state/hooks'; +import { setAllSelection } from './state/slice'; // New Browse/Manage/Search Dashboards views for nested folders const BrowseDashboardsPage = memo(() => { diff --git a/public/app/features/browse-dashboards/RecentlyDeletedPage.tsx b/public/app/features/browse-dashboards/RecentlyDeletedPage.tsx index 3e6a25cfadf..06fc910a683 100644 --- a/public/app/features/browse-dashboards/RecentlyDeletedPage.tsx +++ b/public/app/features/browse-dashboards/RecentlyDeletedPage.tsx @@ -16,7 +16,8 @@ import { RecentlyDeletedActions } from './components/RecentlyDeletedActions'; import { RecentlyDeletedEmptyState } from './components/RecentlyDeletedEmptyState'; import { SearchView } from './components/SearchView'; import { getFolderPermissions } from './permissions'; -import { setAllSelection, useHasSelection } from './state'; +import { useHasSelection } from './state/hooks'; +import { setAllSelection } from './state/slice'; const RecentlyDeletedPage = memo(() => { const dispatch = useDispatch(); diff --git a/public/app/features/browse-dashboards/api/browseDashboardsAPI.ts b/public/app/features/browse-dashboards/api/browseDashboardsAPI.ts index 22ef7ed3ba2..fdd091aecc3 100644 --- a/public/app/features/browse-dashboards/api/browseDashboardsAPI.ts +++ b/public/app/features/browse-dashboards/api/browseDashboardsAPI.ts @@ -25,7 +25,7 @@ import { SaveDashboardResponseDTO, } from 'app/types'; -import { refetchChildren, refreshParents } from '../state'; +import { refetchChildren, refreshParents } from '../state/actions'; import { DashboardTreeSelection } from '../types'; import { isProvisionedDashboard, isProvisionedFolder } from './isProvisioned'; diff --git a/public/app/features/browse-dashboards/components/BrowseActions/BrowseActions.tsx b/public/app/features/browse-dashboards/components/BrowseActions/BrowseActions.tsx index 87168ed0394..931c66cfd74 100644 --- a/public/app/features/browse-dashboards/components/BrowseActions/BrowseActions.tsx +++ b/public/app/features/browse-dashboards/components/BrowseActions/BrowseActions.tsx @@ -9,7 +9,8 @@ import { useDispatch } from 'app/types'; import { ShowModalReactEvent } from 'app/types/events'; import { useDeleteItemsMutation, useMoveItemsMutation } from '../../api/browseDashboardsAPI'; -import { setAllSelection, useActionSelectionState } from '../../state'; +import { useActionSelectionState } from '../../state/hooks'; +import { setAllSelection } from '../../state/slice'; import { DashboardTreeSelection } from '../../types'; import { DeleteModal } from './DeleteModal'; diff --git a/public/app/features/browse-dashboards/components/BrowseView.tsx b/public/app/features/browse-dashboards/components/BrowseView.tsx index 2b9adfebd9d..2a6c55a4ed3 100644 --- a/public/app/features/browse-dashboards/components/BrowseView.tsx +++ b/public/app/features/browse-dashboards/components/BrowseView.tsx @@ -6,17 +6,15 @@ import { DashboardViewItem } from 'app/features/search/types'; import { useDispatch } from 'app/types'; import { PAGE_SIZE } from '../api/services'; +import { fetchNextChildrenPage } from '../state/actions'; import { useFlatTreeState, useCheckboxSelectionState, - setFolderOpenState, - setItemSelectionState, useChildrenByParentUIDState, - setAllSelection, useBrowseLoadingStatus, useLoadNextChildrenPage, - fetchNextChildrenPage, -} from '../state'; +} from '../state/hooks'; +import { setFolderOpenState, setItemSelectionState, setAllSelection } from '../state/slice'; import { BrowseDashboardsState, DashboardTreeSelection, SelectionState } from '../types'; import { DashboardsTree } from './DashboardsTree'; diff --git a/public/app/features/browse-dashboards/components/NameCell.tsx b/public/app/features/browse-dashboards/components/NameCell.tsx index c85d98d5f03..3db558966a2 100644 --- a/public/app/features/browse-dashboards/components/NameCell.tsx +++ b/public/app/features/browse-dashboards/components/NameCell.tsx @@ -10,7 +10,7 @@ import { getIconForItem } from 'app/features/search/service/utils'; import { Indent } from '../../../core/components/Indent/Indent'; import { FolderRepo } from '../../../core/components/NestedFolderPicker/FolderRepo'; -import { useChildrenByParentUIDState } from '../state'; +import { useChildrenByParentUIDState } from '../state/hooks'; import { DashboardsTreeCellProps } from '../types'; import { makeRowID } from './utils'; diff --git a/public/app/features/browse-dashboards/components/RecentlyDeletedActions.tsx b/public/app/features/browse-dashboards/components/RecentlyDeletedActions.tsx index 6f553f478b7..158c8d9fa71 100644 --- a/public/app/features/browse-dashboards/components/RecentlyDeletedActions.tsx +++ b/public/app/features/browse-dashboards/components/RecentlyDeletedActions.tsx @@ -12,7 +12,8 @@ import { ShowModalReactEvent } from 'app/types/events'; import { deletedDashboardsCache } from '../../search/service/deletedDashboardsCache'; import { useListDeletedDashboardsQuery, useRestoreDashboardMutation } from '../api/browseDashboardsAPI'; import { useRecentlyDeletedStateManager } from '../api/useRecentlyDeletedStateManager'; -import { clearFolders, setAllSelection, useActionSelectionState } from '../state'; +import { useActionSelectionState } from '../state/hooks'; +import { clearFolders, setAllSelection } from '../state/slice'; import { RestoreModal } from './RestoreModal'; diff --git a/public/app/features/browse-dashboards/components/SearchView.tsx b/public/app/features/browse-dashboards/components/SearchView.tsx index 014a417c603..203d46a4307 100644 --- a/public/app/features/browse-dashboards/components/SearchView.tsx +++ b/public/app/features/browse-dashboards/components/SearchView.tsx @@ -9,7 +9,8 @@ import { SearchStateManager } from 'app/features/search/state/SearchStateManager import { DashboardViewItemKind, SearchState } from 'app/features/search/types'; import { useDispatch, useSelector } from 'app/types'; -import { setAllSelection, setItemSelectionState, useHasSelection } from '../state'; +import { useHasSelection } from '../state/hooks'; +import { setAllSelection, setItemSelectionState } from '../state/slice'; interface SearchViewProps { height: number; diff --git a/public/app/features/browse-dashboards/state/index.ts b/public/app/features/browse-dashboards/state/index.ts deleted file mode 100644 index c5779d55154..00000000000 --- a/public/app/features/browse-dashboards/state/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from './slice'; -export * from './actions'; -export * from './hooks'; diff --git a/public/app/features/canvas/element.ts b/public/app/features/canvas/element.ts index 7f987fed873..1821670a621 100644 --- a/public/app/features/canvas/element.ts +++ b/public/app/features/canvas/element.ts @@ -7,7 +7,7 @@ import { config } from 'app/core/config'; import { BackgroundConfig, Constraint, LineConfig, Placement } from 'app/plugins/panel/canvas/panelcfg.gen'; import { LineStyleConfig } from '../../plugins/panel/canvas/editor/LineStyleEditor'; -import { DimensionContext } from '../dimensions'; +import { DimensionContext } from '../dimensions/context'; import { StandardEditorConfig } from './types'; diff --git a/public/app/features/canvas/elements/button.tsx b/public/app/features/canvas/elements/button.tsx index d05b04531a7..749504e80ff 100644 --- a/public/app/features/canvas/elements/button.tsx +++ b/public/app/features/canvas/elements/button.tsx @@ -6,7 +6,7 @@ import { t } from '@grafana/i18n'; import { TextDimensionMode } from '@grafana/schema'; import { Button, Spinner, useStyles2 } from '@grafana/ui'; import { DimensionContext } from 'app/features/dimensions/context'; -import { ColorDimensionEditor } from 'app/features/dimensions/editors'; +import { ColorDimensionEditor } from 'app/features/dimensions/editors/ColorDimensionEditor'; import { TextDimensionEditor } from 'app/features/dimensions/editors/TextDimensionEditor'; import { APIEditor, APIEditorConfig } from 'app/plugins/panel/canvas/editor/element/APIEditor'; import { ButtonStyleConfig, ButtonStyleEditor } from 'app/plugins/panel/canvas/editor/element/ButtonStyleEditor'; diff --git a/public/app/features/canvas/elements/cloud.tsx b/public/app/features/canvas/elements/cloud.tsx index c4688bf7300..f215b4dfd9e 100644 --- a/public/app/features/canvas/elements/cloud.tsx +++ b/public/app/features/canvas/elements/cloud.tsx @@ -4,7 +4,7 @@ import { v4 as uuidv4 } from 'uuid'; import { GrafanaTheme2 } from '@grafana/data'; import { t } from '@grafana/i18n'; import { config } from 'app/core/config'; -import { DimensionContext } from 'app/features/dimensions'; +import { DimensionContext } from 'app/features/dimensions/context'; import { ColorDimensionEditor } from 'app/features/dimensions/editors/ColorDimensionEditor'; import { TextDimensionEditor } from 'app/features/dimensions/editors/TextDimensionEditor'; diff --git a/public/app/features/canvas/elements/droneFront.tsx b/public/app/features/canvas/elements/droneFront.tsx index 628b70c3afb..f8c7a0ef1bb 100644 --- a/public/app/features/canvas/elements/droneFront.tsx +++ b/public/app/features/canvas/elements/droneFront.tsx @@ -4,8 +4,8 @@ import { GrafanaTheme2 } from '@grafana/data'; import { t } from '@grafana/i18n'; import { ScalarDimensionConfig } from '@grafana/schema'; import { useStyles2 } from '@grafana/ui'; -import { DimensionContext } from 'app/features/dimensions'; -import { ScalarDimensionEditor } from 'app/features/dimensions/editors'; +import { DimensionContext } from 'app/features/dimensions/context'; +import { ScalarDimensionEditor } from 'app/features/dimensions/editors/ScalarDimensionEditor'; import { CanvasElementItem, CanvasElementOptions, CanvasElementProps, defaultBgColor } from '../element'; diff --git a/public/app/features/canvas/elements/droneSide.tsx b/public/app/features/canvas/elements/droneSide.tsx index c4ec5fcc73f..9ff0a6deabb 100644 --- a/public/app/features/canvas/elements/droneSide.tsx +++ b/public/app/features/canvas/elements/droneSide.tsx @@ -4,8 +4,8 @@ import { GrafanaTheme2 } from '@grafana/data'; import { t } from '@grafana/i18n'; import { ScalarDimensionConfig } from '@grafana/schema'; import { useStyles2 } from '@grafana/ui'; -import { DimensionContext } from 'app/features/dimensions'; -import { ScalarDimensionEditor } from 'app/features/dimensions/editors'; +import { DimensionContext } from 'app/features/dimensions/context'; +import { ScalarDimensionEditor } from 'app/features/dimensions/editors/ScalarDimensionEditor'; import { CanvasElementItem, CanvasElementOptions, CanvasElementProps, defaultBgColor } from '../element'; diff --git a/public/app/features/canvas/elements/droneTop.tsx b/public/app/features/canvas/elements/droneTop.tsx index 864a32363e3..4994bfa0d91 100644 --- a/public/app/features/canvas/elements/droneTop.tsx +++ b/public/app/features/canvas/elements/droneTop.tsx @@ -4,8 +4,8 @@ import { GrafanaTheme2 } from '@grafana/data'; import { t } from '@grafana/i18n'; import { ScalarDimensionConfig } from '@grafana/schema'; import { useStyles2 } from '@grafana/ui'; -import { DimensionContext } from 'app/features/dimensions'; -import { ScalarDimensionEditor } from 'app/features/dimensions/editors'; +import { DimensionContext } from 'app/features/dimensions/context'; +import { ScalarDimensionEditor } from 'app/features/dimensions/editors/ScalarDimensionEditor'; import { CanvasElementItem, CanvasElementOptions, CanvasElementProps, defaultBgColor } from '../element'; diff --git a/public/app/features/canvas/elements/icon.tsx b/public/app/features/canvas/elements/icon.tsx index 48ea5beffd2..bf10461706c 100644 --- a/public/app/features/canvas/elements/icon.tsx +++ b/public/app/features/canvas/elements/icon.tsx @@ -6,9 +6,10 @@ import { LinkModel } from '@grafana/data'; import { t } from '@grafana/i18n'; import { ColorDimensionConfig, ResourceDimensionConfig, ResourceDimensionMode } from '@grafana/schema'; import { SanitizedSVG } from 'app/core/components/SVG/SanitizedSVG'; -import { getPublicOrAbsoluteUrl } from 'app/features/dimensions'; import { DimensionContext } from 'app/features/dimensions/context'; -import { ColorDimensionEditor, ResourceDimensionEditor } from 'app/features/dimensions/editors'; +import { ColorDimensionEditor } from 'app/features/dimensions/editors/ColorDimensionEditor'; +import { ResourceDimensionEditor } from 'app/features/dimensions/editors/ResourceDimensionEditor'; +import { getPublicOrAbsoluteUrl } from 'app/features/dimensions/resource'; import { LineConfig } from 'app/plugins/panel/canvas/panelcfg.gen'; import { CanvasElementItem, CanvasElementOptions, CanvasElementProps, defaultBgColor } from '../element'; diff --git a/public/app/features/canvas/elements/parallelogram.tsx b/public/app/features/canvas/elements/parallelogram.tsx index dc46cebf21f..2dc0df79799 100644 --- a/public/app/features/canvas/elements/parallelogram.tsx +++ b/public/app/features/canvas/elements/parallelogram.tsx @@ -4,7 +4,7 @@ import { v4 as uuidv4 } from 'uuid'; import { GrafanaTheme2 } from '@grafana/data'; import { t } from '@grafana/i18n'; import { config } from 'app/core/config'; -import { DimensionContext } from 'app/features/dimensions'; +import { DimensionContext } from 'app/features/dimensions/context'; import { ColorDimensionEditor } from 'app/features/dimensions/editors/ColorDimensionEditor'; import { TextDimensionEditor } from 'app/features/dimensions/editors/TextDimensionEditor'; diff --git a/public/app/features/canvas/elements/server/server.tsx b/public/app/features/canvas/elements/server/server.tsx index 5ea7724b2f1..2ad0e4cd404 100644 --- a/public/app/features/canvas/elements/server/server.tsx +++ b/public/app/features/canvas/elements/server/server.tsx @@ -4,8 +4,9 @@ import { GrafanaTheme2, LinkModel } from '@grafana/data'; import { t } from '@grafana/i18n'; import { ColorDimensionConfig, ScalarDimensionConfig } from '@grafana/schema'; import config from 'app/core/config'; -import { DimensionContext } from 'app/features/dimensions'; -import { ColorDimensionEditor, ScalarDimensionEditor } from 'app/features/dimensions/editors'; +import { DimensionContext } from 'app/features/dimensions/context'; +import { ColorDimensionEditor } from 'app/features/dimensions/editors/ColorDimensionEditor'; +import { ScalarDimensionEditor } from 'app/features/dimensions/editors/ScalarDimensionEditor'; import { CanvasElementItem, CanvasElementOptions, CanvasElementProps } from '../../element'; diff --git a/public/app/features/canvas/elements/triangle.tsx b/public/app/features/canvas/elements/triangle.tsx index 13cba93f980..35b00d05761 100644 --- a/public/app/features/canvas/elements/triangle.tsx +++ b/public/app/features/canvas/elements/triangle.tsx @@ -4,7 +4,7 @@ import { v4 as uuidv4 } from 'uuid'; import { GrafanaTheme2 } from '@grafana/data'; import { t } from '@grafana/i18n'; import { config } from 'app/core/config'; -import { DimensionContext } from 'app/features/dimensions'; +import { DimensionContext } from 'app/features/dimensions/context'; import { ColorDimensionEditor } from 'app/features/dimensions/editors/ColorDimensionEditor'; import { TextDimensionEditor } from 'app/features/dimensions/editors/TextDimensionEditor'; diff --git a/public/app/features/canvas/elements/windTurbine.tsx b/public/app/features/canvas/elements/windTurbine.tsx index 8070ab41973..0da6fea9455 100644 --- a/public/app/features/canvas/elements/windTurbine.tsx +++ b/public/app/features/canvas/elements/windTurbine.tsx @@ -4,8 +4,8 @@ import { GrafanaTheme2, LinkModel } from '@grafana/data'; import { t } from '@grafana/i18n'; import { ScalarDimensionConfig } from '@grafana/schema'; import { useStyles2 } from '@grafana/ui'; -import { DimensionContext } from 'app/features/dimensions'; -import { ScalarDimensionEditor } from 'app/features/dimensions/editors'; +import { DimensionContext } from 'app/features/dimensions/context'; +import { ScalarDimensionEditor } from 'app/features/dimensions/editors/ScalarDimensionEditor'; import { CanvasElementItem, CanvasElementOptions, CanvasElementProps, defaultBgColor } from '../element'; diff --git a/public/app/features/canvas/runtime/element.tsx b/public/app/features/canvas/runtime/element.tsx index df072b83c58..047d42a5e45 100644 --- a/public/app/features/canvas/runtime/element.tsx +++ b/public/app/features/canvas/runtime/element.tsx @@ -15,7 +15,7 @@ import { t } from '@grafana/i18n'; import { ConfirmModal } from '@grafana/ui'; import { LayerElement } from 'app/core/components/Layers/types'; import { notFoundItem } from 'app/features/canvas/elements/notFound'; -import { DimensionContext } from 'app/features/dimensions'; +import { DimensionContext } from 'app/features/dimensions/context'; import { BackgroundImageSize, Constraint, diff --git a/public/app/features/canvas/runtime/frame.tsx b/public/app/features/canvas/runtime/frame.tsx index d58accc0ade..7b9765ddecc 100644 --- a/public/app/features/canvas/runtime/frame.tsx +++ b/public/app/features/canvas/runtime/frame.tsx @@ -1,7 +1,7 @@ import { cloneDeep } from 'lodash'; import { notFoundItem } from 'app/features/canvas/elements/notFound'; -import { DimensionContext } from 'app/features/dimensions'; +import { DimensionContext } from 'app/features/dimensions/context'; import { HorizontalConstraint, Placement, VerticalConstraint } from 'app/plugins/panel/canvas/panelcfg.gen'; import { LayerActionID } from 'app/plugins/panel/canvas/types'; diff --git a/public/app/features/canvas/runtime/scene.tsx b/public/app/features/canvas/runtime/scene.tsx index 5be6001272d..5e54afd9be8 100644 --- a/public/app/features/canvas/runtime/scene.tsx +++ b/public/app/features/canvas/runtime/scene.tsx @@ -16,7 +16,7 @@ import { } from '@grafana/schema'; import { Portal } from '@grafana/ui'; import { config } from 'app/core/config'; -import { DimensionContext } from 'app/features/dimensions'; +import { DimensionContext } from 'app/features/dimensions/context'; import { getColorDimensionFromData, getResourceDimensionFromData, diff --git a/public/app/features/connections/Connections.tsx b/public/app/features/connections/Connections.tsx index 05330a180b5..5515e9bf96b 100644 --- a/public/app/features/connections/Connections.tsx +++ b/public/app/features/connections/Connections.tsx @@ -3,14 +3,12 @@ import { Navigate, Routes, Route, useLocation } from 'react-router-dom-v5-compat import { StoreState, useSelector } from 'app/types'; import { ROUTES } from './constants'; -import { - AddNewConnectionPage, - DataSourceDashboardsPage, - DataSourceDetailsPage, - DataSourcesListPage, - EditDataSourcePage, - NewDataSourcePage, -} from './pages'; +import { AddNewConnectionPage } from './pages/AddNewConnectionPage'; +import { DataSourceDashboardsPage } from './pages/DataSourceDashboardsPage'; +import { DataSourceDetailsPage } from './pages/DataSourceDetailsPage'; +import { DataSourcesListPage } from './pages/DataSourcesListPage'; +import { EditDataSourcePage } from './pages/EditDataSourcePage'; +import { NewDataSourcePage } from './pages/NewDataSourcePage'; function RedirectToAddNewConnection() { const { search } = useLocation(); diff --git a/public/app/features/connections/pages/DataSourcesListPage.tsx b/public/app/features/connections/pages/DataSourcesListPage.tsx index 7a794ae3b52..5c67b07da24 100644 --- a/public/app/features/connections/pages/DataSourcesListPage.tsx +++ b/public/app/features/connections/pages/DataSourcesListPage.tsx @@ -2,7 +2,7 @@ import { Page } from 'app/core/components/Page/Page'; import { AdvisorRedirectNotice } from 'app/features/connections/components/AdvisorRedirectNotice/AdvisorRedirectNotice'; import { DataSourceAddButton } from 'app/features/datasources/components/DataSourceAddButton'; import { DataSourcesList } from 'app/features/datasources/components/DataSourcesList'; -import { getDataSourcesCount } from 'app/features/datasources/state'; +import { getDataSourcesCount } from 'app/features/datasources/state/selectors'; import { StoreState, useSelector } from 'app/types'; export function DataSourcesListPage() { diff --git a/public/app/features/connections/pages/index.tsx b/public/app/features/connections/pages/index.tsx deleted file mode 100644 index 64d2ec896ec..00000000000 --- a/public/app/features/connections/pages/index.tsx +++ /dev/null @@ -1,6 +0,0 @@ -export { AddNewConnectionPage } from './AddNewConnectionPage'; -export { DataSourceDetailsPage } from './DataSourceDetailsPage'; -export { DataSourcesListPage } from './DataSourcesListPage'; -export { DataSourceDashboardsPage } from './DataSourceDashboardsPage'; -export { EditDataSourcePage } from './EditDataSourcePage'; -export { NewDataSourcePage } from './NewDataSourcePage'; diff --git a/public/app/features/connections/tabs/ConnectData/CardGrid/CardGrid.tsx b/public/app/features/connections/tabs/ConnectData/CardGrid/CardGrid.tsx index fe2006270ae..80b08bb663e 100644 --- a/public/app/features/connections/tabs/ConnectData/CardGrid/CardGrid.tsx +++ b/public/app/features/connections/tabs/ConnectData/CardGrid/CardGrid.tsx @@ -5,12 +5,10 @@ import { GrafanaTheme2 } from '@grafana/data'; import { t } from '@grafana/i18n'; import { featureEnabled } from '@grafana/runtime'; import { Card, Grid, useStyles2, Stack, Badge } from '@grafana/ui'; -import { - PluginDeprecatedBadge, - PluginDisabledBadge, - PluginInstalledBadge, - PluginUpdateAvailableBadge, -} from 'app/features/plugins/admin/components/Badges'; +import { PluginDeprecatedBadge } from 'app/features/plugins/admin/components/Badges/PluginDeprecatedBadge'; +import { PluginDisabledBadge } from 'app/features/plugins/admin/components/Badges/PluginDisabledBadge'; +import { PluginInstalledBadge } from 'app/features/plugins/admin/components/Badges/PluginInstallBadge'; +import { PluginUpdateAvailableBadge } from 'app/features/plugins/admin/components/Badges/PluginUpdateAvailableBadge'; import { getBadgeColor } from 'app/features/plugins/admin/components/Badges/sharedStyles'; import { isPluginUpdatable } from 'app/features/plugins/admin/helpers'; import { CatalogPlugin } from 'app/features/plugins/admin/types'; diff --git a/public/app/features/correlations/Forms/AddCorrelationForm.tsx b/public/app/features/correlations/Forms/AddCorrelationForm.tsx index bda19c40de6..cba2a2bf76f 100644 --- a/public/app/features/correlations/Forms/AddCorrelationForm.tsx +++ b/public/app/features/correlations/Forms/AddCorrelationForm.tsx @@ -5,7 +5,7 @@ import { GrafanaTheme2 } from '@grafana/data'; import { PanelContainer, useStyles2 } from '@grafana/ui'; import { CloseButton } from 'app/core/components/CloseButton/CloseButton'; -import { Wizard } from '../components/Wizard'; +import { Wizard } from '../components/Wizard/Wizard'; import { useCorrelations } from '../useCorrelations'; import { ConfigureCorrelationBasicInfoForm } from './ConfigureCorrelationBasicInfoForm'; diff --git a/public/app/features/correlations/Forms/EditCorrelationForm.tsx b/public/app/features/correlations/Forms/EditCorrelationForm.tsx index 55417f4fad0..11d4f6ad441 100644 --- a/public/app/features/correlations/Forms/EditCorrelationForm.tsx +++ b/public/app/features/correlations/Forms/EditCorrelationForm.tsx @@ -1,6 +1,6 @@ import { useEffect } from 'react'; -import { Wizard } from '../components/Wizard'; +import { Wizard } from '../components/Wizard/Wizard'; import { Correlation } from '../types'; import { useCorrelations } from '../useCorrelations'; diff --git a/public/app/features/correlations/components/Wizard/index.ts b/public/app/features/correlations/components/Wizard/index.ts deleted file mode 100644 index 7ccbf5e9774..00000000000 --- a/public/app/features/correlations/components/Wizard/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './Wizard'; -export * from './types'; diff --git a/public/app/features/dashboard-scene/scene/DashboardScene.tsx b/public/app/features/dashboard-scene/scene/DashboardScene.tsx index cd54c64a63f..2d5a2901b06 100644 --- a/public/app/features/dashboard-scene/scene/DashboardScene.tsx +++ b/public/app/features/dashboard-scene/scene/DashboardScene.tsx @@ -59,7 +59,7 @@ import { buildGridItemForPanel, transformSaveModelToScene } from '../serializati import { gridItemToPanel } from '../serialization/transformSceneToSaveModel'; import { DecoratedRevisionModel } from '../settings/VersionsEditView'; import { DashboardEditView } from '../settings/utils'; -import { historySrv } from '../settings/version-history'; +import { historySrv } from '../settings/version-history/HistorySrv'; import { DashboardModelCompatibilityWrapper } from '../utils/DashboardModelCompatibilityWrapper'; import { isInCloneChain } from '../utils/clone'; import { dashboardSceneGraph } from '../utils/dashboardSceneGraph'; diff --git a/public/app/features/dashboard-scene/settings/AnnotationsEditView.tsx b/public/app/features/dashboard-scene/settings/AnnotationsEditView.tsx index 72510de5130..bbc49a8fc30 100644 --- a/public/app/features/dashboard-scene/settings/AnnotationsEditView.tsx +++ b/public/app/features/dashboard-scene/settings/AnnotationsEditView.tsx @@ -11,7 +11,8 @@ import { dashboardSceneGraph } from '../utils/dashboardSceneGraph'; import { getDashboardSceneFor } from '../utils/utils'; import { EditListViewSceneUrlSync } from './EditListViewSceneUrlSync'; -import { AnnotationSettingsEdit, AnnotationSettingsList, newAnnotationName } from './annotations'; +import { AnnotationSettingsEdit, newAnnotationName } from './annotations/AnnotationSettingsEdit'; +import { AnnotationSettingsList } from './annotations/AnnotationSettingsList'; import { DashboardEditView, DashboardEditViewState, useDashboardEditPageNav } from './utils'; export enum MoveDirection { diff --git a/public/app/features/dashboard-scene/settings/VersionsEditView.test.tsx b/public/app/features/dashboard-scene/settings/VersionsEditView.test.tsx index c2d238354c0..501b6d7dfae 100644 --- a/public/app/features/dashboard-scene/settings/VersionsEditView.test.tsx +++ b/public/app/features/dashboard-scene/settings/VersionsEditView.test.tsx @@ -5,7 +5,7 @@ import { DashboardScene } from '../scene/DashboardScene'; import { activateFullSceneTree } from '../utils/test-utils'; import { VERSIONS_FETCH_LIMIT, VersionsEditView } from './VersionsEditView'; -import { historySrv } from './version-history'; +import { historySrv } from './version-history/HistorySrv'; jest.mock('./version-history/HistorySrv'); diff --git a/public/app/features/dashboard-scene/settings/VersionsEditView.tsx b/public/app/features/dashboard-scene/settings/VersionsEditView.tsx index 6eb427966cf..1620111aecd 100644 --- a/public/app/features/dashboard-scene/settings/VersionsEditView.tsx +++ b/public/app/features/dashboard-scene/settings/VersionsEditView.tsx @@ -11,14 +11,11 @@ import { NavToolbarActions } from '../scene/NavToolbarActions'; import { getDashboardSceneFor } from '../utils/utils'; import { DashboardEditView, DashboardEditViewState, useDashboardEditPageNav } from './utils'; -import { - RevisionsModel, - VersionHistoryComparison, - VersionHistoryHeader, - VersionHistoryTable, - VersionsHistoryButtons, - historySrv, -} from './version-history'; +import { RevisionsModel, historySrv } from './version-history/HistorySrv'; +import { VersionsHistoryButtons } from './version-history/VersionHistoryButtons'; +import { VersionHistoryComparison } from './version-history/VersionHistoryComparison'; +import { VersionHistoryHeader } from './version-history/VersionHistoryHeader'; +import { VersionHistoryTable } from './version-history/VersionHistoryTable'; export const VERSIONS_FETCH_LIMIT = 10; diff --git a/public/app/features/dashboard-scene/settings/annotations/index.tsx b/public/app/features/dashboard-scene/settings/annotations/index.tsx deleted file mode 100644 index 5c5ebb6cb18..00000000000 --- a/public/app/features/dashboard-scene/settings/annotations/index.tsx +++ /dev/null @@ -1,2 +0,0 @@ -export { AnnotationSettingsEdit, newAnnotationName } from './AnnotationSettingsEdit'; -export { AnnotationSettingsList } from './AnnotationSettingsList'; diff --git a/public/app/features/dashboard-scene/settings/version-history/index.ts b/public/app/features/dashboard-scene/settings/version-history/index.ts deleted file mode 100644 index 880541e40d2..00000000000 --- a/public/app/features/dashboard-scene/settings/version-history/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -export { HistorySrv, historySrv, type RevisionsModel } from './HistorySrv'; -export { VersionHistoryTable } from './VersionHistoryTable'; -export { VersionHistoryHeader } from './VersionHistoryHeader'; -export { VersionsHistoryButtons } from './VersionHistoryButtons'; -export { VersionHistoryComparison } from './VersionHistoryComparison'; diff --git a/public/app/features/dashboard/components/AnnotationSettings/index.tsx b/public/app/features/dashboard/components/AnnotationSettings/index.tsx deleted file mode 100644 index 5c5ebb6cb18..00000000000 --- a/public/app/features/dashboard/components/AnnotationSettings/index.tsx +++ /dev/null @@ -1,2 +0,0 @@ -export { AnnotationSettingsEdit, newAnnotationName } from './AnnotationSettingsEdit'; -export { AnnotationSettingsList } from './AnnotationSettingsList'; diff --git a/public/app/features/dashboard/components/DashboardSettings/AnnotationsSettings.tsx b/public/app/features/dashboard/components/DashboardSettings/AnnotationsSettings.tsx index ffcf53a4085..add625aa42c 100644 --- a/public/app/features/dashboard/components/DashboardSettings/AnnotationsSettings.tsx +++ b/public/app/features/dashboard/components/DashboardSettings/AnnotationsSettings.tsx @@ -3,7 +3,8 @@ import { getDataSourceSrv, locationService } from '@grafana/runtime'; import { Page } from 'app/core/components/Page/Page'; import { DashboardModel } from '../../state/DashboardModel'; -import { AnnotationSettingsEdit, AnnotationSettingsList, newAnnotationName } from '../AnnotationSettings'; +import { AnnotationSettingsEdit, newAnnotationName } from '../AnnotationSettings/AnnotationSettingsEdit'; +import { AnnotationSettingsList } from '../AnnotationSettings/AnnotationSettingsList'; import { SettingsPageProps } from './types'; diff --git a/public/app/features/dashboard/components/DashboardSettings/LinksSettings.tsx b/public/app/features/dashboard/components/DashboardSettings/LinksSettings.tsx index 10f07a092d8..374c486497c 100644 --- a/public/app/features/dashboard/components/DashboardSettings/LinksSettings.tsx +++ b/public/app/features/dashboard/components/DashboardSettings/LinksSettings.tsx @@ -4,7 +4,8 @@ import { locationService } from '@grafana/runtime'; import { Page } from 'app/core/components/Page/Page'; import { NEW_LINK } from 'app/features/dashboard-scene/settings/links/utils'; -import { LinkSettingsEdit, LinkSettingsList } from '../LinksSettings'; +import { LinkSettingsEdit } from '../LinksSettings/LinkSettingsEdit'; +import { LinkSettingsList } from '../LinksSettings/LinkSettingsList'; import { SettingsPageProps } from './types'; diff --git a/public/app/features/dashboard/components/DashboardSettings/VersionsSettings.tsx b/public/app/features/dashboard/components/DashboardSettings/VersionsSettings.tsx index 31ee8c9ba2e..fad6f79bffc 100644 --- a/public/app/features/dashboard/components/DashboardSettings/VersionsSettings.tsx +++ b/public/app/features/dashboard/components/DashboardSettings/VersionsSettings.tsx @@ -4,12 +4,9 @@ import * as React from 'react'; import { config } from '@grafana/runtime'; import { Spinner, HorizontalGroup } from '@grafana/ui'; import { Page } from 'app/core/components/Page/Page'; -import { - historySrv, - RevisionsModel, - VersionHistoryHeader, - VersionsHistoryButtons, -} from 'app/features/dashboard-scene/settings/version-history'; +import { historySrv, RevisionsModel } from 'app/features/dashboard-scene/settings/version-history/HistorySrv'; +import { VersionsHistoryButtons } from 'app/features/dashboard-scene/settings/version-history/VersionHistoryButtons'; +import { VersionHistoryHeader } from 'app/features/dashboard-scene/settings/version-history/VersionHistoryHeader'; import { VersionHistoryComparison } from '../VersionHistory/VersionHistoryComparison'; import { VersionHistoryTable } from '../VersionHistory/VersionHistoryTable'; diff --git a/public/app/features/dashboard/components/LinksSettings/index.tsx b/public/app/features/dashboard/components/LinksSettings/index.tsx deleted file mode 100644 index 21e45f1e3ba..00000000000 --- a/public/app/features/dashboard/components/LinksSettings/index.tsx +++ /dev/null @@ -1,2 +0,0 @@ -export { LinkSettingsEdit } from './LinkSettingsEdit'; -export { LinkSettingsList } from './LinkSettingsList'; diff --git a/public/app/features/dashboard/components/VersionHistory/useDashboardRestore.tsx b/public/app/features/dashboard/components/VersionHistory/useDashboardRestore.tsx index fa192c5a7b8..f95568f8159 100644 --- a/public/app/features/dashboard/components/VersionHistory/useDashboardRestore.tsx +++ b/public/app/features/dashboard/components/VersionHistory/useDashboardRestore.tsx @@ -4,7 +4,7 @@ import { useAsyncFn } from 'react-use'; import { locationUtil } from '@grafana/data'; import { config, locationService } from '@grafana/runtime'; import { useAppNotification } from 'app/core/copy/appNotification'; -import { historySrv } from 'app/features/dashboard-scene/settings/version-history'; +import { historySrv } from 'app/features/dashboard-scene/settings/version-history/HistorySrv'; import { useSelector } from 'app/types'; import { dashboardWatcher } from '../../../live/dashboard/dashboardWatcher'; diff --git a/public/app/features/dataframe-import/index.ts b/public/app/features/dataframe-import/index.ts deleted file mode 100644 index 3f51aca9553..00000000000 --- a/public/app/features/dataframe-import/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './utils'; -export * from './constants'; diff --git a/public/app/features/datasources/components/DataSourceDashboards.tsx b/public/app/features/datasources/components/DataSourceDashboards.tsx index 7b954ae9d03..d4011844e4c 100644 --- a/public/app/features/datasources/components/DataSourceDashboards.tsx +++ b/public/app/features/datasources/components/DataSourceDashboards.tsx @@ -6,7 +6,7 @@ import { loadPluginDashboards } from 'app/features/plugins/admin/state/actions'; import { PluginDashboard, StoreState, useDispatch, useSelector } from 'app/types'; import DashboardTable from '../components/DashboardsTable'; -import { useInitDataSourceSettings } from '../state'; +import { useInitDataSourceSettings } from '../state/hooks'; export type Props = { // The UID of the data source diff --git a/public/app/features/datasources/components/DataSourcesList.tsx b/public/app/features/datasources/components/DataSourcesList.tsx index 00f5ee5ae31..1437fa395e8 100644 --- a/public/app/features/datasources/components/DataSourcesList.tsx +++ b/public/app/features/datasources/components/DataSourcesList.tsx @@ -10,7 +10,8 @@ import { contextSrv } from 'app/core/core'; import { StoreState, AccessControlAction, useSelector } from 'app/types'; import { ROUTES } from '../../connections/constants'; -import { getDataSources, getDataSourcesCount, useLoadDataSources } from '../state'; +import { useLoadDataSources } from '../state/hooks'; +import { getDataSources, getDataSourcesCount } from '../state/selectors'; import { trackDataSourcesListViewed } from '../tracking'; import { DataSourcesListCard } from './DataSourcesListCard'; diff --git a/public/app/features/datasources/components/DataSourcesListHeader.tsx b/public/app/features/datasources/components/DataSourcesListHeader.tsx index cf0a97883d1..f23f8b3cb6b 100644 --- a/public/app/features/datasources/components/DataSourcesListHeader.tsx +++ b/public/app/features/datasources/components/DataSourcesListHeader.tsx @@ -5,7 +5,8 @@ import { SelectableValue } from '@grafana/data'; import PageActionBar from 'app/core/components/PageActionBar/PageActionBar'; import { StoreState, useSelector, useDispatch } from 'app/types'; -import { getDataSourcesSearchQuery, getDataSourcesSort, setDataSourcesSearchQuery, setIsSortAscending } from '../state'; +import { setDataSourcesSearchQuery, setIsSortAscending } from '../state/reducers'; +import { getDataSourcesSearchQuery, getDataSourcesSort } from '../state/selectors'; import { trackDsSearched } from '../tracking'; const ascendingSortValue = 'alpha-asc'; diff --git a/public/app/features/datasources/components/EditDataSource.tsx b/public/app/features/datasources/components/EditDataSource.tsx index 077e66f931f..920979f0cd4 100644 --- a/public/app/features/datasources/components/EditDataSource.tsx +++ b/public/app/features/datasources/components/EditDataSource.tsx @@ -16,9 +16,6 @@ import PageLoader from 'app/core/components/PageLoader/PageLoader'; import { DataSourceSettingsState, useDispatch } from 'app/types'; import { - dataSourceLoaded, - setDataSourceName, - setIsDefault, useDataSource, useDataSourceExploreUrl, useDataSourceMeta, @@ -28,7 +25,8 @@ import { useInitDataSourceSettings, useTestDataSource, useUpdateDatasource, -} from '../state'; +} from '../state/hooks'; +import { setIsDefault, setDataSourceName, dataSourceLoaded } from '../state/reducers'; import { trackDsConfigClicked, trackDsConfigUpdated } from '../tracking'; import { DataSourceRights } from '../types'; diff --git a/public/app/features/datasources/components/EditDataSourceActions.tsx b/public/app/features/datasources/components/EditDataSourceActions.tsx index b60f3774f0a..a2d18bb11f5 100644 --- a/public/app/features/datasources/components/EditDataSourceActions.tsx +++ b/public/app/features/datasources/components/EditDataSourceActions.tsx @@ -3,7 +3,7 @@ import { config } from '@grafana/runtime'; import { LinkButton } from '@grafana/ui'; import { contextSrv } from 'app/core/core'; -import { useDataSource } from '../state'; +import { useDataSource } from '../state/hooks'; import { trackCreateDashboardClicked, trackDsConfigClicked, trackExploreClicked } from '../tracking'; import { constructDataSourceExploreUrl } from '../utils'; diff --git a/public/app/features/datasources/components/NewDataSource.tsx b/public/app/features/datasources/components/NewDataSource.tsx index db92959af19..7803caac224 100644 --- a/public/app/features/datasources/components/NewDataSource.tsx +++ b/public/app/features/datasources/components/NewDataSource.tsx @@ -10,12 +10,9 @@ import { DataSourcePluginCategory, StoreState, useDispatch, useSelector } from ' import { ROUTES } from '../../connections/constants'; import { DataSourceCategories } from '../components/DataSourceCategories'; import { DataSourceTypeCardList } from '../components/DataSourceTypeCardList'; -import { - useAddDatasource, - useLoadDataSourcePlugins, - getFilteredDataSourcePlugins, - setDataSourceTypeSearchQuery, -} from '../state'; +import { useAddDatasource, useLoadDataSourcePlugins } from '../state/hooks'; +import { setDataSourceTypeSearchQuery } from '../state/reducers'; +import { getFilteredDataSourcePlugins } from '../state/selectors'; export function NewDataSource() { useLoadDataSourcePlugins(); diff --git a/public/app/features/datasources/components/picker/DataSourceModal.tsx b/public/app/features/datasources/components/picker/DataSourceModal.tsx index 89f8226b3a9..0bfa3ca2744 100644 --- a/public/app/features/datasources/components/picker/DataSourceModal.tsx +++ b/public/app/features/datasources/components/picker/DataSourceModal.tsx @@ -15,7 +15,7 @@ import { Icon, ScrollContainer, } from '@grafana/ui'; -import * as DFImport from 'app/features/dataframe-import'; +import { acceptedFiles, maxFileSize } from 'app/features/dataframe-import/constants'; import { GrafanaQuery } from 'app/plugins/datasource/grafana/types'; import { getFileDropToQueryHandler } from 'app/plugins/datasource/grafana/utils'; @@ -203,9 +203,9 @@ export function DataSourceModal({ readAs="readAsArrayBuffer" fileListRenderer={() => undefined} options={{ - maxSize: DFImport.maxFileSize, + maxSize: maxFileSize, multiple: false, - accept: DFImport.acceptedFiles, + accept: acceptedFiles, onDrop: onFileDrop, }} > diff --git a/public/app/features/datasources/state/index.ts b/public/app/features/datasources/state/index.ts deleted file mode 100644 index 42fae7a84a7..00000000000 --- a/public/app/features/datasources/state/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -export * from './actions'; -export * from './buildCategories'; -export * from './hooks'; -export * from './navModel'; -export * from './reducers'; -export * from './selectors'; diff --git a/public/app/features/dimensions/editors/ResourceDimensionEditor.tsx b/public/app/features/dimensions/editors/ResourceDimensionEditor.tsx index c56f6d1f2be..1b5d63348e6 100644 --- a/public/app/features/dimensions/editors/ResourceDimensionEditor.tsx +++ b/public/app/features/dimensions/editors/ResourceDimensionEditor.tsx @@ -7,8 +7,8 @@ import { ResourceDimensionConfig, ResourceDimensionMode } from '@grafana/schema' import { InlineField, InlineFieldRow, RadioButtonGroup } from '@grafana/ui'; import { FieldNamePicker } from '@grafana/ui/internal'; -import { getPublicOrAbsoluteUrl, ResourceFolderName } from '..'; -import { MediaType, ResourceDimensionOptions, ResourcePickerSize } from '../types'; +import { getPublicOrAbsoluteUrl } from '../resource'; +import { MediaType, ResourceDimensionOptions, ResourceFolderName, ResourcePickerSize } from '../types'; import { ResourcePicker } from './ResourcePicker'; diff --git a/public/app/features/dimensions/editors/index.ts b/public/app/features/dimensions/editors/index.ts deleted file mode 100644 index fe6418b3609..00000000000 --- a/public/app/features/dimensions/editors/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -export * from './ColorDimensionEditor'; -export * from './IconSelector'; -export * from './ResourceDimensionEditor'; -export * from './ScaleDimensionEditor'; -export * from './ScalarDimensionEditor'; -export * from './TextDimensionEditor'; diff --git a/public/app/features/dimensions/index.ts b/public/app/features/dimensions/index.ts deleted file mode 100644 index df2598082e9..00000000000 --- a/public/app/features/dimensions/index.ts +++ /dev/null @@ -1,9 +0,0 @@ -export * from './types'; - -export * from './color'; -export * from './scale'; -export * from './text'; -export * from './utils'; -export * from './resource'; -export * from './context'; -export * from './scalar'; diff --git a/public/app/features/dimensions/utils.ts b/public/app/features/dimensions/utils.ts index 3e762cc5841..359e21bbf4c 100644 --- a/public/app/features/dimensions/utils.ts +++ b/public/app/features/dimensions/utils.ts @@ -7,15 +7,13 @@ import { ColorDimensionConfig, ScalarDimensionConfig, } from '@grafana/schema'; -import { - getColorDimension, - getScaledDimension, - getTextDimension, - getResourceDimension, - DimensionSupplier, -} from 'app/features/dimensions'; +import { getColorDimension } from './color'; +import { getResourceDimension } from './resource'; import { getScalarDimension } from './scalar'; +import { getScaledDimension } from './scale'; +import { getTextDimension } from './text'; +import { DimensionSupplier } from './types'; export function getColorDimensionFromData( data: PanelData | undefined, diff --git a/public/app/features/explore/TraceView/TraceView.tsx b/public/app/features/explore/TraceView/TraceView.tsx index 4df8b52f4cf..4afbe1d6b4a 100644 --- a/public/app/features/explore/TraceView/TraceView.tsx +++ b/public/app/features/explore/TraceView/TraceView.tsx @@ -27,17 +27,15 @@ import { useDispatch, useSelector } from 'app/types'; import { changePanelState } from '../state/explorePane'; -import { - SpanBarOptionsData, - SpanLinkFunc, - Trace, - TracePageHeader, - TraceTimelineViewer, - TTraceTimeline, -} from './components'; import memoizedTraceCriticalPath from './components/CriticalPath'; +import { TracePageHeader } from './components/TracePageHeader'; import SpanGraph from './components/TracePageHeader/SpanGraph'; +import TraceTimelineViewer from './components/TraceTimelineViewer'; import { TraceFlameGraphs } from './components/TraceTimelineViewer/SpanDetail'; +import { SpanBarOptionsData } from './components/settings/SpanBarSettings'; +import TTraceTimeline from './components/types/TTraceTimeline'; +import { SpanLinkFunc } from './components/types/links'; +import { Trace } from './components/types/trace'; import { createSpanLinkFactory } from './createSpanLink'; import { useChildrenState } from './useChildrenState'; import { useDetailState } from './useDetailState'; diff --git a/public/app/features/explore/TraceView/components/CriticalPath/index.tsx b/public/app/features/explore/TraceView/components/CriticalPath/index.tsx index 7d8a8d3dc99..6a485972c0e 100644 --- a/public/app/features/explore/TraceView/components/CriticalPath/index.tsx +++ b/public/app/features/explore/TraceView/components/CriticalPath/index.tsx @@ -14,7 +14,7 @@ import memoizeOne from 'memoize-one'; -import { CriticalPathSection, Trace, TraceSpan } from '../types'; +import { TraceSpan, CriticalPathSection, Trace } from '../types/trace'; import findLastFinishingChildSpan from './utils/findLastFinishingChildSpan'; import getChildOfSpans from './utils/getChildOfSpans'; diff --git a/public/app/features/explore/TraceView/components/CriticalPath/testCases/test1.ts b/public/app/features/explore/TraceView/components/CriticalPath/testCases/test1.ts index d2f0cf757fd..4e37e81ef21 100644 --- a/public/app/features/explore/TraceView/components/CriticalPath/testCases/test1.ts +++ b/public/app/features/explore/TraceView/components/CriticalPath/testCases/test1.ts @@ -27,7 +27,9 @@ Here +++++ are critical path sections */ -import { Trace, TraceResponse, transformTraceData } from '../../index'; + +import transformTraceData from '../../model/transform-trace-data'; +import { Trace, TraceResponse } from '../../types/trace'; const testTrace: TraceResponse = { traceID: 'test1-trace', diff --git a/public/app/features/explore/TraceView/components/CriticalPath/testCases/test2.ts b/public/app/features/explore/TraceView/components/CriticalPath/testCases/test2.ts index 1f445a9339e..896519af4bd 100644 --- a/public/app/features/explore/TraceView/components/CriticalPath/testCases/test2.ts +++ b/public/app/features/explore/TraceView/components/CriticalPath/testCases/test2.ts @@ -29,7 +29,8 @@ | Here ++++++ is critical path | */ -import { TraceResponse, transformTraceData } from '../../index'; +import transformTraceData from '../../model/transform-trace-data'; +import { TraceResponse } from '../../types/trace'; const happyTrace: TraceResponse = { traceID: 'trace-123', diff --git a/public/app/features/explore/TraceView/components/CriticalPath/testCases/test3.ts b/public/app/features/explore/TraceView/components/CriticalPath/testCases/test3.ts index ab13f8d12fb..04ff9908b09 100644 --- a/public/app/features/explore/TraceView/components/CriticalPath/testCases/test3.ts +++ b/public/app/features/explore/TraceView/components/CriticalPath/testCases/test3.ts @@ -26,7 +26,8 @@ Span B will be dropped. | span A is on critical path(+++++) | */ -import { TraceResponse, transformTraceData } from '../../index'; +import transformTraceData from '../../model/transform-trace-data'; +import { TraceResponse } from '../../types/trace'; const trace: TraceResponse = { traceID: '006c3cf93508f205', diff --git a/public/app/features/explore/TraceView/components/CriticalPath/testCases/test4.ts b/public/app/features/explore/TraceView/components/CriticalPath/testCases/test4.ts index dfab4611889..28d0abfc196 100644 --- a/public/app/features/explore/TraceView/components/CriticalPath/testCases/test4.ts +++ b/public/app/features/explore/TraceView/components/CriticalPath/testCases/test4.ts @@ -29,7 +29,8 @@ Both spanB and spanC will be dropped. | span A is on critical path(+++++) | */ -import { TraceResponse, transformTraceData } from '../../index'; +import transformTraceData from '../../model/transform-trace-data'; +import { TraceResponse } from '../../types/trace'; const trace: TraceResponse = { traceID: 'trace-abc', diff --git a/public/app/features/explore/TraceView/components/CriticalPath/testCases/test5.ts b/public/app/features/explore/TraceView/components/CriticalPath/testCases/test5.ts index 0f057fe60e1..88d35296afd 100644 --- a/public/app/features/explore/TraceView/components/CriticalPath/testCases/test5.ts +++ b/public/app/features/explore/TraceView/components/CriticalPath/testCases/test5.ts @@ -28,7 +28,8 @@ Here span B is ref-type is 'FOLLOWS_FROM' | */ -import { TraceResponse, transformTraceData } from '../../index'; +import transformTraceData from '../../model/transform-trace-data'; +import { TraceResponse } from '../../types/trace'; const trace: TraceResponse = { traceID: 'trace-abc', diff --git a/public/app/features/explore/TraceView/components/CriticalPath/testCases/test6.ts b/public/app/features/explore/TraceView/components/CriticalPath/testCases/test6.ts index 3d35d416f85..faa703c4885 100644 --- a/public/app/features/explore/TraceView/components/CriticalPath/testCases/test6.ts +++ b/public/app/features/explore/TraceView/components/CriticalPath/testCases/test6.ts @@ -26,7 +26,8 @@ └──────────────┘ | (parent-child tree) */ -import { TraceResponse, transformTraceData } from '../../index'; +import transformTraceData from '../../model/transform-trace-data'; +import { TraceResponse } from '../../types/trace'; const trace: TraceResponse = { traceID: 'trace-abc', diff --git a/public/app/features/explore/TraceView/components/CriticalPath/testCases/test7.ts b/public/app/features/explore/TraceView/components/CriticalPath/testCases/test7.ts index ef67a541817..d4256c95888 100644 --- a/public/app/features/explore/TraceView/components/CriticalPath/testCases/test7.ts +++ b/public/app/features/explore/TraceView/components/CriticalPath/testCases/test7.ts @@ -26,7 +26,8 @@ └──────────────┘ | */ -import { TraceResponse, transformTraceData } from '../../index'; +import transformTraceData from '../../model/transform-trace-data'; +import { TraceResponse } from '../../types/trace'; const trace: TraceResponse = { traceID: 'trace-abc', diff --git a/public/app/features/explore/TraceView/components/CriticalPath/testCases/test8.ts b/public/app/features/explore/TraceView/components/CriticalPath/testCases/test8.ts index 4be57aa68db..068d852c965 100644 --- a/public/app/features/explore/TraceView/components/CriticalPath/testCases/test8.ts +++ b/public/app/features/explore/TraceView/components/CriticalPath/testCases/test8.ts @@ -12,7 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { TraceResponse, transformTraceData } from '../../index'; +import transformTraceData from '../../model/transform-trace-data'; +import { TraceResponse } from '../../types/trace'; /* ┌─────────────────┐ | diff --git a/public/app/features/explore/TraceView/components/CriticalPath/testCases/test9.ts b/public/app/features/explore/TraceView/components/CriticalPath/testCases/test9.ts index b1e52d18f22..0233d4b721c 100644 --- a/public/app/features/explore/TraceView/components/CriticalPath/testCases/test9.ts +++ b/public/app/features/explore/TraceView/components/CriticalPath/testCases/test9.ts @@ -12,7 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { TraceResponse, transformTraceData } from '../../index'; +import transformTraceData from '../../model/transform-trace-data'; +import { TraceResponse } from '../../types/trace'; /* ┌──────────┐ | diff --git a/public/app/features/explore/TraceView/components/CriticalPath/utils/findLastFinishingChildSpan.tsx b/public/app/features/explore/TraceView/components/CriticalPath/utils/findLastFinishingChildSpan.tsx index 21bdc7edd22..b9cb5423f62 100644 --- a/public/app/features/explore/TraceView/components/CriticalPath/utils/findLastFinishingChildSpan.tsx +++ b/public/app/features/explore/TraceView/components/CriticalPath/utils/findLastFinishingChildSpan.tsx @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { TraceSpan } from '../../types'; +import { TraceSpan } from '../../types/trace'; /** * @returns - Returns the span that finished last among the remaining child spans. diff --git a/public/app/features/explore/TraceView/components/CriticalPath/utils/getChildOfSpans.tsx b/public/app/features/explore/TraceView/components/CriticalPath/utils/getChildOfSpans.tsx index 850c59c04c6..a42cb801506 100644 --- a/public/app/features/explore/TraceView/components/CriticalPath/utils/getChildOfSpans.tsx +++ b/public/app/features/explore/TraceView/components/CriticalPath/utils/getChildOfSpans.tsx @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { TraceSpan } from '../../types'; +import { TraceSpan } from '../../types/trace'; /** * Removes child spans whose refType is FOLLOWS_FROM and their descendants. diff --git a/public/app/features/explore/TraceView/components/CriticalPath/utils/sanitizeOverFlowingChildren.test.ts b/public/app/features/explore/TraceView/components/CriticalPath/utils/sanitizeOverFlowingChildren.test.ts index c27a6eab732..100de12c3aa 100644 --- a/public/app/features/explore/TraceView/components/CriticalPath/utils/sanitizeOverFlowingChildren.test.ts +++ b/public/app/features/explore/TraceView/components/CriticalPath/utils/sanitizeOverFlowingChildren.test.ts @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { TraceSpan } from '../../types'; +import { TraceSpan } from '../../types/trace'; import test3 from '../testCases/test3'; import test4 from '../testCases/test4'; import test6 from '../testCases/test6'; diff --git a/public/app/features/explore/TraceView/components/CriticalPath/utils/sanitizeOverFlowingChildren.tsx b/public/app/features/explore/TraceView/components/CriticalPath/utils/sanitizeOverFlowingChildren.tsx index 2b0b93eef8e..a52a7d8966f 100644 --- a/public/app/features/explore/TraceView/components/CriticalPath/utils/sanitizeOverFlowingChildren.tsx +++ b/public/app/features/explore/TraceView/components/CriticalPath/utils/sanitizeOverFlowingChildren.tsx @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { TraceSpan } from '../../types'; +import { TraceSpan } from '../../types/trace'; /** * This function resolves overflowing child spans for each span. diff --git a/public/app/features/explore/TraceView/components/ScrollManager.tsx b/public/app/features/explore/TraceView/components/ScrollManager.tsx index e996b3b5dd3..2190062e190 100644 --- a/public/app/features/explore/TraceView/components/ScrollManager.tsx +++ b/public/app/features/explore/TraceView/components/ScrollManager.tsx @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { TNil } from './types'; +import TNil from './types/TNil'; import { TraceSpan, TraceSpanReference, Trace } from './types/trace'; /** diff --git a/public/app/features/explore/TraceView/components/TracePageHeader/SearchBar/NextPrevResult.tsx b/public/app/features/explore/TraceView/components/TracePageHeader/SearchBar/NextPrevResult.tsx index f16b2cc2fbf..44453f8dd1b 100644 --- a/public/app/features/explore/TraceView/components/TracePageHeader/SearchBar/NextPrevResult.tsx +++ b/public/app/features/explore/TraceView/components/TracePageHeader/SearchBar/NextPrevResult.tsx @@ -23,7 +23,7 @@ import { config, reportInteraction } from '@grafana/runtime'; import { Icon, PopoverContent, Tooltip, useTheme2 } from '@grafana/ui'; import { getButtonStyles } from '@grafana/ui/internal'; -import { Trace } from '../../types'; +import { Trace } from '../../types/trace'; export type NextPrevResultProps = { trace: Trace; diff --git a/public/app/features/explore/TraceView/components/TracePageHeader/SearchBar/TracePageSearchBar.tsx b/public/app/features/explore/TraceView/components/TracePageHeader/SearchBar/TracePageSearchBar.tsx index 8889408b7eb..954b57cb039 100644 --- a/public/app/features/explore/TraceView/components/TracePageHeader/SearchBar/TracePageSearchBar.tsx +++ b/public/app/features/explore/TraceView/components/TracePageHeader/SearchBar/TracePageSearchBar.tsx @@ -21,7 +21,7 @@ import { Button, Switch, useStyles2 } from '@grafana/ui'; import { getButtonStyles } from '@grafana/ui/internal'; import { SearchProps } from '../../../useSearch'; -import { Trace } from '../../types'; +import { Trace } from '../../types/trace'; import { convertTimeFilter } from '../../utils/filter-spans'; import NextPrevResult from './NextPrevResult'; diff --git a/public/app/features/explore/TraceView/components/TracePageHeader/SpanFilters/SpanFilters.tsx b/public/app/features/explore/TraceView/components/TracePageHeader/SpanFilters/SpanFilters.tsx index 7cb9997fcc8..9110b547f6e 100644 --- a/public/app/features/explore/TraceView/components/TracePageHeader/SpanFilters/SpanFilters.tsx +++ b/public/app/features/explore/TraceView/components/TracePageHeader/SpanFilters/SpanFilters.tsx @@ -23,7 +23,7 @@ import { Collapse, Icon, InlineField, InlineFieldRow, Select, Stack, Tooltip, us import { defaultFilters, SearchProps } from '../../../useSearch'; import { getTraceServiceNames, getTraceSpanNames } from '../../../utils/tags'; import SearchBarInput from '../../common/SearchBarInput'; -import { Trace } from '../../types'; +import { Trace } from '../../types/trace'; import NextPrevResult from '../SearchBar/NextPrevResult'; import TracePageSearchBar from '../SearchBar/TracePageSearchBar'; diff --git a/public/app/features/explore/TraceView/components/TracePageHeader/SpanFilters/SpanFiltersTags.tsx b/public/app/features/explore/TraceView/components/TracePageHeader/SpanFilters/SpanFiltersTags.tsx index a5ffb81d12c..ce36acf89ea 100644 --- a/public/app/features/explore/TraceView/components/TracePageHeader/SpanFilters/SpanFiltersTags.tsx +++ b/public/app/features/explore/TraceView/components/TracePageHeader/SpanFilters/SpanFiltersTags.tsx @@ -9,7 +9,7 @@ import { Input, Select, Stack, useStyles2 } from '@grafana/ui'; import { randomId, SearchProps, Tag } from '../../../useSearch'; import { getTraceTagKeys, getTraceTagValues } from '../../../utils/tags'; -import { Trace } from '../../types'; +import { Trace } from '../../types/trace'; interface Props { search: SearchProps; diff --git a/public/app/features/explore/TraceView/components/TracePageHeader/SpanGraph/CanvasSpanGraph.tsx b/public/app/features/explore/TraceView/components/TracePageHeader/SpanGraph/CanvasSpanGraph.tsx index 6173ac3534d..dd638f44f8a 100644 --- a/public/app/features/explore/TraceView/components/TracePageHeader/SpanGraph/CanvasSpanGraph.tsx +++ b/public/app/features/explore/TraceView/components/TracePageHeader/SpanGraph/CanvasSpanGraph.tsx @@ -19,7 +19,7 @@ import { GrafanaTheme2 } from '@grafana/data'; import { withTheme2, stylesFactory } from '@grafana/ui'; import { autoColor } from '../../Theme'; -import { TNil } from '../../types'; +import TNil from '../../types/TNil'; import { getRgbColorByKey } from '../../utils/color-generator'; import renderIntoCanvas from './render-into-canvas'; diff --git a/public/app/features/explore/TraceView/components/TracePageHeader/SpanGraph/ViewingLayer.tsx b/public/app/features/explore/TraceView/components/TracePageHeader/SpanGraph/ViewingLayer.tsx index 4cdf8088c1c..ac031caa160 100644 --- a/public/app/features/explore/TraceView/components/TracePageHeader/SpanGraph/ViewingLayer.tsx +++ b/public/app/features/explore/TraceView/components/TracePageHeader/SpanGraph/ViewingLayer.tsx @@ -21,8 +21,11 @@ import { Trans } from '@grafana/i18n'; import { withTheme2, stylesFactory, Button } from '@grafana/ui'; import { autoColor } from '../../Theme'; -import { TUpdateViewRangeTimeFunction, ViewRange, ViewRangeTimeUpdate, TNil } from '../../index'; -import DraggableManager, { DraggableBounds, DraggingUpdate, EUpdateTypes } from '../../utils/DraggableManager'; +import { TUpdateViewRangeTimeFunction, ViewRangeTimeUpdate, ViewRange } from '../../TraceTimelineViewer/types'; +import TNil from '../../types/TNil'; +import DraggableManager from '../../utils/DraggableManager/DraggableManager'; +import EUpdateTypes from '../../utils/DraggableManager/EUpdateTypes'; +import { DraggableBounds, DraggingUpdate } from '../../utils/DraggableManager/types'; import GraphTicks from './GraphTicks'; import Scrubber from './Scrubber'; diff --git a/public/app/features/explore/TraceView/components/TracePageHeader/SpanGraph/index.tsx b/public/app/features/explore/TraceView/components/TracePageHeader/SpanGraph/index.tsx index 64595920cf5..78a4c151f88 100644 --- a/public/app/features/explore/TraceView/components/TracePageHeader/SpanGraph/index.tsx +++ b/public/app/features/explore/TraceView/components/TracePageHeader/SpanGraph/index.tsx @@ -16,8 +16,8 @@ import { css } from '@emotion/css'; import memoizeOne from 'memoize-one'; import * as React from 'react'; -import { TUpdateViewRangeTimeFunction, ViewRange, ViewRangeTimeUpdate } from '../../index'; -import { TraceSpan, Trace } from '../../types'; +import { ViewRange, TUpdateViewRangeTimeFunction, ViewRangeTimeUpdate } from '../../TraceTimelineViewer/types'; +import { Trace, TraceSpan } from '../../types/trace'; import CanvasSpanGraph from './CanvasSpanGraph'; import TickLabels from './TickLabels'; diff --git a/public/app/features/explore/TraceView/components/TracePageHeader/SpanGraph/render-into-canvas.tsx b/public/app/features/explore/TraceView/components/TracePageHeader/SpanGraph/render-into-canvas.tsx index e339120e0fe..fc23e53f517 100644 --- a/public/app/features/explore/TraceView/components/TracePageHeader/SpanGraph/render-into-canvas.tsx +++ b/public/app/features/explore/TraceView/components/TracePageHeader/SpanGraph/render-into-canvas.tsx @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { TNil } from '../../index'; +import TNil from '../../types/TNil'; // exported for tests export const ITEM_ALPHA = 0.8; diff --git a/public/app/features/explore/TraceView/components/TracePageHeader/TracePageHeader.tsx b/public/app/features/explore/TraceView/components/TracePageHeader/TracePageHeader.tsx index 504c4782a84..076edfccc46 100644 --- a/public/app/features/explore/TraceView/components/TracePageHeader/TracePageHeader.tsx +++ b/public/app/features/explore/TraceView/components/TracePageHeader/TracePageHeader.tsx @@ -27,7 +27,7 @@ import ExternalLinks from '../common/ExternalLinks'; import TraceName from '../common/TraceName'; import { getTraceLinks } from '../model/link-patterns'; import { getHeaderTags, getTraceName } from '../model/trace-viewer'; -import { Trace } from '../types'; +import { Trace } from '../types/trace'; import { formatDuration } from '../utils/date'; import TracePageActions from './Actions/TracePageActions'; diff --git a/public/app/features/explore/TraceView/components/TraceTimelineViewer/ListView/index.tsx b/public/app/features/explore/TraceView/components/TraceTimelineViewer/ListView/index.tsx index 91a57172395..7fcbe3553bd 100644 --- a/public/app/features/explore/TraceView/components/TraceTimelineViewer/ListView/index.tsx +++ b/public/app/features/explore/TraceView/components/TraceTimelineViewer/ListView/index.tsx @@ -14,7 +14,7 @@ import * as React from 'react'; -import { TNil } from '../../types'; +import TNil from '../../types/TNil'; import Positions from './Positions'; diff --git a/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanBar.tsx b/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanBar.tsx index 03663851799..0e447aa0ce0 100644 --- a/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanBar.tsx +++ b/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanBar.tsx @@ -25,7 +25,8 @@ import { Tooltip, useStyles2 } from '@grafana/ui'; import { autoColor } from '../Theme'; import { Popover } from '../common/Popover'; -import { TraceSpan, TNil, CriticalPathSection } from '../types'; +import TNil from '../types/TNil'; +import { TraceSpan, CriticalPathSection } from '../types/trace'; import AccordianLogs from './SpanDetail/AccordianLogs'; import { ViewedBoundsFunctionType } from './utils'; diff --git a/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanBarRow.test.tsx b/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanBarRow.test.tsx index ea39758763f..39262e91b21 100644 --- a/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanBarRow.test.tsx +++ b/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanBarRow.test.tsx @@ -17,7 +17,8 @@ import userEvent from '@testing-library/user-event'; import { DURATION, NONE, TAG } from '@grafana/o11y-ds-frontend'; -import { SpanLinkDef, TraceSpan } from '../types'; +import { SpanLinkDef } from '../types/links'; +import { TraceSpan } from '../types/trace'; import SpanBarRow, { SpanBarRowProps } from './SpanBarRow'; diff --git a/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanBarRow.tsx b/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanBarRow.tsx index 09db59d0e01..c01bbbe4abb 100644 --- a/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanBarRow.tsx +++ b/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanBarRow.tsx @@ -21,7 +21,10 @@ import { DURATION, NONE, TAG } from '@grafana/o11y-ds-frontend'; import { Icon, stylesFactory, withTheme2 } from '@grafana/ui'; import { autoColor } from '../Theme'; -import { SpanBarOptions, SpanLinkFunc, TraceSpan, TNil, CriticalPathSection } from '../types'; +import { SpanBarOptions } from '../settings/SpanBarSettings'; +import TNil from '../types/TNil'; +import { SpanLinkFunc } from '../types/links'; +import { TraceSpan, CriticalPathSection } from '../types/trace'; import SpanBar from './SpanBar'; import { SpanLinksMenu } from './SpanLinks'; diff --git a/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanDetail/AccordianKeyValues.tsx b/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanDetail/AccordianKeyValues.tsx index 1932b8d2c96..b182fa5df41 100644 --- a/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanDetail/AccordianKeyValues.tsx +++ b/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanDetail/AccordianKeyValues.tsx @@ -20,7 +20,7 @@ import { GrafanaTheme2, TraceKeyValuePair } from '@grafana/data'; import { Icon, useStyles2 } from '@grafana/ui'; import { autoColor } from '../../Theme'; -import { TNil } from '../../types'; +import TNil from '../../types/TNil'; import * as markers from './AccordianKeyValues.markers'; import KeyValuesTable, { KeyValuesTableLink } from './KeyValuesTable'; diff --git a/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanDetail/AccordianText.tsx b/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanDetail/AccordianText.tsx index 7e331151c99..f0efc64b10a 100644 --- a/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanDetail/AccordianText.tsx +++ b/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanDetail/AccordianText.tsx @@ -20,7 +20,7 @@ import { GrafanaTheme2 } from '@grafana/data'; import { Icon, useStyles2 } from '@grafana/ui'; import { autoColor } from '../../Theme'; -import { TNil } from '../../types'; +import TNil from '../../types/TNil'; import { getStyles as getAccordianKeyValuesStyles } from './AccordianKeyValues'; import TextList from './TextList'; diff --git a/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanDetail/KeyValuesTable.tsx b/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanDetail/KeyValuesTable.tsx index 60c00367373..83632c9351d 100644 --- a/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanDetail/KeyValuesTable.tsx +++ b/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanDetail/KeyValuesTable.tsx @@ -21,7 +21,7 @@ import { Icon, useStyles2 } from '@grafana/ui'; import { autoColor } from '../../Theme'; import CopyIcon from '../../common/CopyIcon'; -import { TNil } from '../../types'; +import TNil from '../../types/TNil'; import jsonMarkup from './jsonMarkup'; diff --git a/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanDetail/SpanDetailLinkButtons.tsx b/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanDetail/SpanDetailLinkButtons.tsx index 1e210dd0508..36810a370df 100644 --- a/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanDetail/SpanDetailLinkButtons.tsx +++ b/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanDetail/SpanDetailLinkButtons.tsx @@ -9,8 +9,7 @@ import { DataLinkButton, Dropdown, Menu, ToolbarButton } from '@grafana/ui'; import { RelatedProfilesTitle } from '@grafana-plugins/tempo/resultTransformer'; import { pyroscopeProfileIdTagKey } from '../../../createSpanLink'; -import { SpanLinkFunc } from '../../types'; -import { SpanLinkDef, SpanLinkType } from '../../types/links'; +import { SpanLinkDef, SpanLinkFunc, SpanLinkType } from '../../types/links'; import { TraceSpan } from '../../types/trace'; export type ProfilesButtonContext = { diff --git a/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanDetail/index.tsx b/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanDetail/index.tsx index 815f5f68974..0b8065b09c6 100644 --- a/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanDetail/index.tsx +++ b/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanDetail/index.tsx @@ -39,7 +39,7 @@ import { pyroscopeProfileIdTagKey } from '../../../createSpanLink'; import { autoColor } from '../../Theme'; import LabeledList from '../../common/LabeledList'; import { KIND, LIBRARY_NAME, LIBRARY_VERSION, STATUS, STATUS_MESSAGE, TRACE_STATE } from '../../constants/span'; -import { SpanLinkFunc } from '../../types'; +import { SpanLinkFunc } from '../../types/links'; import { TraceProcess, TraceSpan, TraceSpanReference } from '../../types/trace'; import { formatDuration } from '../utils'; diff --git a/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanDetailRow.tsx b/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanDetailRow.tsx index 051fecb2e6b..a6e8219214d 100644 --- a/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanDetailRow.tsx +++ b/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanDetailRow.tsx @@ -22,7 +22,7 @@ import { TimeZone } from '@grafana/schema'; import { Button, clearButtonStyles, stylesFactory, withTheme2 } from '@grafana/ui'; import { autoColor } from '../Theme'; -import { SpanLinkFunc } from '../types'; +import { SpanLinkFunc } from '../types/links'; import { TraceSpan, TraceSpanReference } from '../types/trace'; import SpanDetail, { TraceFlameGraphs } from './SpanDetail'; diff --git a/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanTreeOffset.test.tsx b/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanTreeOffset.test.tsx index 9994b36dd37..463b2035841 100644 --- a/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanTreeOffset.test.tsx +++ b/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanTreeOffset.test.tsx @@ -17,7 +17,7 @@ import userEvent from '@testing-library/user-event'; import { createTheme } from '@grafana/data'; -import { TraceSpan } from '../types'; +import { TraceSpan } from '../types/trace'; import spanAncestorIdsSpy from '../utils/span-ancestor-ids'; import SpanTreeOffset, { getStyles, TProps } from './SpanTreeOffset'; diff --git a/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanTreeOffset.tsx b/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanTreeOffset.tsx index 786edc7a183..72a985faad4 100644 --- a/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanTreeOffset.tsx +++ b/public/app/features/explore/TraceView/components/TraceTimelineViewer/SpanTreeOffset.tsx @@ -21,7 +21,7 @@ import { GrafanaTheme2 } from '@grafana/data'; import { Icon, stylesFactory, withTheme2 } from '@grafana/ui'; import { autoColor } from '../Theme'; -import { TraceSpan } from '../types'; +import { TraceSpan } from '../types/trace'; import spanAncestorIds from '../utils/span-ancestor-ids'; export const getStyles = stylesFactory((theme: GrafanaTheme2) => ({ diff --git a/public/app/features/explore/TraceView/components/TraceTimelineViewer/Ticks.tsx b/public/app/features/explore/TraceView/components/TraceTimelineViewer/Ticks.tsx index 8c1341b3193..81c255bcba6 100644 --- a/public/app/features/explore/TraceView/components/TraceTimelineViewer/Ticks.tsx +++ b/public/app/features/explore/TraceView/components/TraceTimelineViewer/Ticks.tsx @@ -20,7 +20,7 @@ import { GrafanaTheme2 } from '@grafana/data'; import { useStyles2 } from '@grafana/ui'; import { autoColor } from '../Theme'; -import { TNil } from '../types'; +import TNil from '../types/TNil'; import { formatDuration } from './utils'; diff --git a/public/app/features/explore/TraceView/components/TraceTimelineViewer/TimelineHeaderRow/TimelineColumnResizer.tsx b/public/app/features/explore/TraceView/components/TraceTimelineViewer/TimelineHeaderRow/TimelineColumnResizer.tsx index 91b3365f695..4fb9b184dcc 100644 --- a/public/app/features/explore/TraceView/components/TraceTimelineViewer/TimelineHeaderRow/TimelineColumnResizer.tsx +++ b/public/app/features/explore/TraceView/components/TraceTimelineViewer/TimelineHeaderRow/TimelineColumnResizer.tsx @@ -16,8 +16,9 @@ import { css } from '@emotion/css'; import cx from 'classnames'; import * as React from 'react'; -import { TNil } from '../../types'; -import DraggableManager, { DraggableBounds, DraggingUpdate } from '../../utils/DraggableManager'; +import TNil from '../../types/TNil'; +import DraggableManager from '../../utils/DraggableManager/DraggableManager'; +import { DraggableBounds, DraggingUpdate } from '../../utils/DraggableManager/types'; export const getStyles = () => ({ TimelineColumnResizer: css({ diff --git a/public/app/features/explore/TraceView/components/TraceTimelineViewer/TimelineHeaderRow/TimelineViewingLayer.tsx b/public/app/features/explore/TraceView/components/TraceTimelineViewer/TimelineHeaderRow/TimelineViewingLayer.tsx index f7ec95ced7b..0afaeaa0ce2 100644 --- a/public/app/features/explore/TraceView/components/TraceTimelineViewer/TimelineHeaderRow/TimelineViewingLayer.tsx +++ b/public/app/features/explore/TraceView/components/TraceTimelineViewer/TimelineHeaderRow/TimelineViewingLayer.tsx @@ -17,8 +17,9 @@ import * as React from 'react'; import { stylesFactory } from '@grafana/ui'; -import { TNil } from '../../types'; -import DraggableManager, { DraggableBounds, DraggingUpdate } from '../../utils/DraggableManager'; +import TNil from '../../types/TNil'; +import DraggableManager from '../../utils/DraggableManager/DraggableManager'; +import { DraggableBounds, DraggingUpdate } from '../../utils/DraggableManager/types'; import { TUpdateViewRangeTimeFunction, ViewRangeTime, ViewRangeTimeUpdate } from '../types'; // exported for testing diff --git a/public/app/features/explore/TraceView/components/TraceTimelineViewer/VirtualizedTraceView.test.tsx b/public/app/features/explore/TraceView/components/TraceTimelineViewer/VirtualizedTraceView.test.tsx index fd93ab261f2..74d25ed8c1f 100644 --- a/public/app/features/explore/TraceView/components/TraceTimelineViewer/VirtualizedTraceView.test.tsx +++ b/public/app/features/explore/TraceView/components/TraceTimelineViewer/VirtualizedTraceView.test.tsx @@ -15,7 +15,7 @@ import { render, screen } from '@testing-library/react'; import traceGenerator from '../demo/trace-generators'; import transformTraceData from '../model/transform-trace-data'; -import { Trace } from '../types'; +import { Trace } from '../types/trace'; import { formatDuration } from '../utils/date'; import SpanTreeOffset from './SpanTreeOffset'; diff --git a/public/app/features/explore/TraceView/components/TraceTimelineViewer/VirtualizedTraceView.tsx b/public/app/features/explore/TraceView/components/TraceTimelineViewer/VirtualizedTraceView.tsx index 2e38d68ebcf..23113a16c24 100644 --- a/public/app/features/explore/TraceView/components/TraceTimelineViewer/VirtualizedTraceView.tsx +++ b/public/app/features/explore/TraceView/components/TraceTimelineViewer/VirtualizedTraceView.tsx @@ -26,9 +26,11 @@ import { TimeZone } from '@grafana/schema'; import { stylesFactory, withTheme2, ToolbarButton } from '@grafana/ui'; import { PEER_SERVICE } from '../constants/tag-keys'; -import { CriticalPathSection, SpanBarOptions, SpanLinkFunc, TNil } from '../types'; +import { SpanBarOptions } from '../settings/SpanBarSettings'; +import TNil from '../types/TNil'; import TTraceTimeline from '../types/TTraceTimeline'; -import { TraceSpan, Trace, TraceSpanReference } from '../types/trace'; +import { SpanLinkFunc } from '../types/links'; +import { TraceSpan, Trace, TraceSpanReference, CriticalPathSection } from '../types/trace'; import { getColorByKey } from '../utils/color-generator'; import ListView from './ListView'; diff --git a/public/app/features/explore/TraceView/components/TraceTimelineViewer/index.tsx b/public/app/features/explore/TraceView/components/TraceTimelineViewer/index.tsx index e2840a15db2..4d475aa8430 100644 --- a/public/app/features/explore/TraceView/components/TraceTimelineViewer/index.tsx +++ b/public/app/features/explore/TraceView/components/TraceTimelineViewer/index.tsx @@ -23,9 +23,10 @@ import { stylesFactory, withTheme2 } from '@grafana/ui'; import { autoColor } from '../Theme'; import { merge as mergeShortcuts } from '../keyboard-shortcuts'; -import { CriticalPathSection, SpanLinkFunc, TNil } from '../types'; +import TNil from '../types/TNil'; import TTraceTimeline from '../types/TTraceTimeline'; -import { TraceSpan, Trace, TraceSpanReference } from '../types/trace'; +import { SpanLinkFunc } from '../types/links'; +import { TraceSpan, Trace, TraceSpanReference, CriticalPathSection } from '../types/trace'; import { TraceFlameGraphs } from './SpanDetail'; import TimelineHeaderRow from './TimelineHeaderRow'; diff --git a/public/app/features/explore/TraceView/components/TraceTimelineViewer/types.tsx b/public/app/features/explore/TraceView/components/TraceTimelineViewer/types.tsx index c427b0ecd3d..c4038f337f6 100644 --- a/public/app/features/explore/TraceView/components/TraceTimelineViewer/types.tsx +++ b/public/app/features/explore/TraceView/components/TraceTimelineViewer/types.tsx @@ -12,8 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { TNil } from '../types'; - +import TNil from '../types/TNil'; interface TimeCursorUpdate { cursor: number | TNil; } diff --git a/public/app/features/explore/TraceView/components/TraceTimelineViewer/utils.test.ts b/public/app/features/explore/TraceView/components/TraceTimelineViewer/utils.test.ts index 9306391774f..a3a634b79d3 100644 --- a/public/app/features/explore/TraceView/components/TraceTimelineViewer/utils.test.ts +++ b/public/app/features/explore/TraceView/components/TraceTimelineViewer/utils.test.ts @@ -13,7 +13,7 @@ // limitations under the License. import traceGenerator from '../demo/trace-generators'; -import { TraceSpan } from '../types'; +import { TraceSpan } from '../types/trace'; import { findServerChildSpan, diff --git a/public/app/features/explore/TraceView/components/TraceTimelineViewer/utils.tsx b/public/app/features/explore/TraceView/components/TraceTimelineViewer/utils.tsx index 1fa55b1d957..3a03cbffdf6 100644 --- a/public/app/features/explore/TraceView/components/TraceTimelineViewer/utils.tsx +++ b/public/app/features/explore/TraceView/components/TraceTimelineViewer/utils.tsx @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { TraceSpan } from '../types'; +import { TraceSpan } from '../types/trace'; export type ViewedBoundsFunctionType = (start: number, end: number) => { start: number; end: number }; /** diff --git a/public/app/features/explore/TraceView/components/Tween.tsx b/public/app/features/explore/TraceView/components/Tween.tsx index e4c3b8271e7..0f839636b3d 100644 --- a/public/app/features/explore/TraceView/components/Tween.tsx +++ b/public/app/features/explore/TraceView/components/Tween.tsx @@ -14,7 +14,7 @@ import ease from 'tween-functions'; -import { TNil } from './types'; +import TNil from './types/TNil'; export interface TweenState { done: boolean; diff --git a/public/app/features/explore/TraceView/components/common/TraceName.tsx b/public/app/features/explore/TraceView/components/common/TraceName.tsx index 128a297d7eb..0c17a814b87 100644 --- a/public/app/features/explore/TraceView/components/common/TraceName.tsx +++ b/public/app/features/explore/TraceView/components/common/TraceName.tsx @@ -19,7 +19,7 @@ import { GrafanaTheme2 } from '@grafana/data'; import { useStyles2 } from '@grafana/ui'; import { FALLBACK_TRACE_NAME } from '../constants'; -import { TNil } from '../types'; +import TNil from '../types/TNil'; import BreakableText from './BreakableText'; diff --git a/public/app/features/explore/TraceView/components/index.ts b/public/app/features/explore/TraceView/components/index.ts deleted file mode 100644 index 51b22738e75..00000000000 --- a/public/app/features/explore/TraceView/components/index.ts +++ /dev/null @@ -1,9 +0,0 @@ -export { default as TraceTimelineViewer } from './TraceTimelineViewer'; -export { TracePageHeader } from './TracePageHeader'; -export { default as SpanBarSettings } from './settings/SpanBarSettings'; -export * from './types'; -export * from './TraceTimelineViewer/types'; -export { default as DetailState } from './TraceTimelineViewer/SpanDetail/DetailState'; -export { default as transformTraceData } from './model/transform-trace-data'; -export { filterSpans } from './utils/filter-spans'; -export * from './Theme'; diff --git a/public/app/features/explore/TraceView/components/model/find-trace-name.test.ts b/public/app/features/explore/TraceView/components/model/find-trace-name.test.ts index 8dedcd277a9..68d6b60cbe7 100644 --- a/public/app/features/explore/TraceView/components/model/find-trace-name.test.ts +++ b/public/app/features/explore/TraceView/components/model/find-trace-name.test.ts @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { TraceSpan } from '../types'; +import { TraceSpan } from '../types/trace'; import { getHeaderTags, _getTraceNameImpl as getTraceName } from './trace-viewer'; diff --git a/public/app/features/explore/TraceView/components/model/link-patterns.test.ts b/public/app/features/explore/TraceView/components/model/link-patterns.test.ts index e3d5a98ffe0..2e9ca895b4c 100644 --- a/public/app/features/explore/TraceView/components/model/link-patterns.test.ts +++ b/public/app/features/explore/TraceView/components/model/link-patterns.test.ts @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { Trace } from '../types'; +import { Trace } from '../types/trace'; import { processTemplate, diff --git a/public/app/features/explore/TraceView/components/model/link-patterns.tsx b/public/app/features/explore/TraceView/components/model/link-patterns.tsx index 8964b969a0d..2c73aae342e 100644 --- a/public/app/features/explore/TraceView/components/model/link-patterns.tsx +++ b/public/app/features/explore/TraceView/components/model/link-patterns.tsx @@ -15,7 +15,7 @@ import { uniq as _uniq } from 'lodash'; import memoize from 'lru-memoize'; -import { Trace } from '../types'; +import { Trace } from '../types/trace'; import { getConfigValue } from '../utils/config/get-config'; const parameterRegExp = /#\{([^{}]*)\}/g; diff --git a/public/app/features/explore/TraceView/components/model/trace-viewer.test.ts b/public/app/features/explore/TraceView/components/model/trace-viewer.test.ts index 2895b6c0013..0eaafaaa596 100644 --- a/public/app/features/explore/TraceView/components/model/trace-viewer.test.ts +++ b/public/app/features/explore/TraceView/components/model/trace-viewer.test.ts @@ -1,4 +1,4 @@ -import { TraceSpan } from '../types'; +import { TraceSpan } from '../types/trace'; import { findHeaderTags } from './trace-viewer'; diff --git a/public/app/features/explore/TraceView/components/model/trace-viewer.ts b/public/app/features/explore/TraceView/components/model/trace-viewer.ts index 14a359a33b9..0a3b2533bb9 100644 --- a/public/app/features/explore/TraceView/components/model/trace-viewer.ts +++ b/public/app/features/explore/TraceView/components/model/trace-viewer.ts @@ -14,7 +14,7 @@ import { memoize } from 'lodash'; -import { TraceSpan } from '../types'; +import { TraceSpan } from '../types/trace'; export function _getTraceNameImpl(spans: TraceSpan[]) { // Use a span with no references to another span in given array diff --git a/public/app/features/explore/TraceView/components/model/transform-trace-data.test.ts b/public/app/features/explore/TraceView/components/model/transform-trace-data.test.ts index 53d3f3b696d..fda614cc40c 100644 --- a/public/app/features/explore/TraceView/components/model/transform-trace-data.test.ts +++ b/public/app/features/explore/TraceView/components/model/transform-trace-data.test.ts @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { TraceResponse } from '../types'; +import { TraceResponse } from '../types/trace'; import transformTraceData, { orderTags, deduplicateTags } from './transform-trace-data'; diff --git a/public/app/features/explore/TraceView/components/model/transform-trace-data.tsx b/public/app/features/explore/TraceView/components/model/transform-trace-data.tsx index 8220af49732..f85f99f8e0c 100644 --- a/public/app/features/explore/TraceView/components/model/transform-trace-data.tsx +++ b/public/app/features/explore/TraceView/components/model/transform-trace-data.tsx @@ -18,7 +18,7 @@ import { isEqual as _isEqual } from 'lodash'; import { TraceKeyValuePair } from '@grafana/data'; import { getTraceSpanIdsAsTree } from '../selectors/trace'; -import { TraceSpan, Trace, TraceResponse, TraceProcess } from '../types'; +import { TraceResponse, Trace, TraceSpan, TraceProcess } from '../types/trace'; // @ts-ignore import TreeNode from '../utils/TreeNode'; import { getConfigValue } from '../utils/config/get-config'; diff --git a/public/app/features/explore/TraceView/components/selectors/span.test.ts b/public/app/features/explore/TraceView/components/selectors/span.test.ts index 89ebd46732c..a805c45891e 100644 --- a/public/app/features/explore/TraceView/components/selectors/span.test.ts +++ b/public/app/features/explore/TraceView/components/selectors/span.test.ts @@ -12,9 +12,8 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { TraceResponse } from 'app/features/explore/TraceView/components/types'; - import traceGenerator from '../demo/trace-generators'; +import { TraceResponse } from '../types/trace'; import * as spanSelectors from './span'; diff --git a/public/app/features/explore/TraceView/components/types/index.tsx b/public/app/features/explore/TraceView/components/types/index.tsx deleted file mode 100644 index e91e53e601b..00000000000 --- a/public/app/features/explore/TraceView/components/types/index.tsx +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright (c) 2017 Uber Technologies, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -export type { TraceSpan, TraceResponse, Trace, TraceProcess, TraceLink, CriticalPathSection } from './trace'; -export type { SpanBarOptions, SpanBarOptionsData } from '../settings/SpanBarSettings'; -export type { default as TTraceTimeline } from './TTraceTimeline'; -export type { default as TNil } from './TNil'; -export type { SpanLinkFunc, SpanLinkDef } from './links'; diff --git a/public/app/features/explore/TraceView/components/utils/DraggableManager/DraggableManager.tsx b/public/app/features/explore/TraceView/components/utils/DraggableManager/DraggableManager.tsx index 44a0820a011..242edfbc161 100644 --- a/public/app/features/explore/TraceView/components/utils/DraggableManager/DraggableManager.tsx +++ b/public/app/features/explore/TraceView/components/utils/DraggableManager/DraggableManager.tsx @@ -14,7 +14,7 @@ import { get as _get } from 'lodash'; -import { TNil } from '../../types'; +import TNil from '../../types/TNil'; import EUpdateTypes from './EUpdateTypes'; import { DraggableBounds, DraggingUpdate } from './types'; diff --git a/public/app/features/explore/TraceView/components/utils/DraggableManager/demo/DividerDemo.tsx b/public/app/features/explore/TraceView/components/utils/DraggableManager/demo/DividerDemo.tsx index 835573a5fa5..ff9a9f6a0b1 100644 --- a/public/app/features/explore/TraceView/components/utils/DraggableManager/demo/DividerDemo.tsx +++ b/public/app/features/explore/TraceView/components/utils/DraggableManager/demo/DividerDemo.tsx @@ -16,7 +16,7 @@ import { PureComponent } from 'react'; import TNil from '../../../types/TNil'; import DraggableManager from '../DraggableManager'; -import { DraggableBounds, DraggingUpdate } from '../index'; +import { DraggableBounds, DraggingUpdate } from '../types'; import './DividerDemo.css'; diff --git a/public/app/features/explore/TraceView/components/utils/DraggableManager/demo/DraggableManagerDemo.tsx b/public/app/features/explore/TraceView/components/utils/DraggableManager/demo/DraggableManagerDemo.tsx index 5a524ddf53a..0d4c5dde159 100644 --- a/public/app/features/explore/TraceView/components/utils/DraggableManager/demo/DraggableManagerDemo.tsx +++ b/public/app/features/explore/TraceView/components/utils/DraggableManager/demo/DraggableManagerDemo.tsx @@ -16,7 +16,7 @@ import { PureComponent } from 'react'; import { Trans } from '@grafana/i18n'; -import { TNil } from '../../../types'; +import TNil from '../../../types/TNil'; import DividerDemo from './DividerDemo'; import RegionDemo from './RegionDemo'; diff --git a/public/app/features/explore/TraceView/components/utils/DraggableManager/demo/RegionDemo.tsx b/public/app/features/explore/TraceView/components/utils/DraggableManager/demo/RegionDemo.tsx index 793428fcce5..e92f883060b 100644 --- a/public/app/features/explore/TraceView/components/utils/DraggableManager/demo/RegionDemo.tsx +++ b/public/app/features/explore/TraceView/components/utils/DraggableManager/demo/RegionDemo.tsx @@ -14,8 +14,9 @@ import { PureComponent } from 'react'; -import { TNil } from '../../../types'; -import DraggableManager, { DraggableBounds, DraggingUpdate } from '../index'; +import TNil from '../../../types/TNil'; +import DraggableManager from '../DraggableManager'; +import { DraggableBounds, DraggingUpdate } from '../types'; import './RegionDemo.css'; diff --git a/public/app/features/explore/TraceView/components/utils/DraggableManager/index.tsx b/public/app/features/explore/TraceView/components/utils/DraggableManager/index.tsx deleted file mode 100644 index 150607a3925..00000000000 --- a/public/app/features/explore/TraceView/components/utils/DraggableManager/index.tsx +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright (c) 2017 Uber Technologies, Inc. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -export * from './types'; -export { default as EUpdateTypes } from './EUpdateTypes'; -export { default } from './DraggableManager'; diff --git a/public/app/features/explore/TraceView/components/utils/DraggableManager/types.tsx b/public/app/features/explore/TraceView/components/utils/DraggableManager/types.tsx index 79e213f8d7e..dfcd0abefa6 100644 --- a/public/app/features/explore/TraceView/components/utils/DraggableManager/types.tsx +++ b/public/app/features/explore/TraceView/components/utils/DraggableManager/types.tsx @@ -14,7 +14,7 @@ import * as React from 'react'; -import { TNil } from '../../types'; +import TNil from '../../types/TNil'; import DraggableManager from './DraggableManager'; import EUpdateTypes from './EUpdateTypes'; diff --git a/public/app/features/explore/TraceView/components/utils/filter-spans.test.ts b/public/app/features/explore/TraceView/components/utils/filter-spans.test.ts index 4bae04a74a2..833ee607c3a 100644 --- a/public/app/features/explore/TraceView/components/utils/filter-spans.test.ts +++ b/public/app/features/explore/TraceView/components/utils/filter-spans.test.ts @@ -13,7 +13,7 @@ // limitations under the License. import { defaultFilters, defaultTagFilter } from '../../useSearch'; -import { TraceSpan } from '../types'; +import { TraceSpan } from '../types/trace'; import { filterSpans } from './filter-spans'; diff --git a/public/app/features/explore/TraceView/components/utils/filter-spans.tsx b/public/app/features/explore/TraceView/components/utils/filter-spans.tsx index 31eaf008d67..82664ded026 100644 --- a/public/app/features/explore/TraceView/components/utils/filter-spans.tsx +++ b/public/app/features/explore/TraceView/components/utils/filter-spans.tsx @@ -18,7 +18,8 @@ import { TraceKeyValuePair } from '@grafana/data'; import { SearchProps, Tag } from '../../useSearch'; import { KIND, LIBRARY_NAME, LIBRARY_VERSION, STATUS, STATUS_MESSAGE, TRACE_STATE, ID } from '../constants/span'; -import { TNil, TraceSpan } from '../types'; +import TNil from '../types/TNil'; +import { TraceSpan } from '../types/trace'; // filter spans where all filters added need to be true for each individual span that is returned // i.e. the more filters added -> the more specific that the returned results are diff --git a/public/app/features/explore/TraceView/components/utils/span-ancestor-ids.test.ts b/public/app/features/explore/TraceView/components/utils/span-ancestor-ids.test.ts index d8532b74151..2a9d2c6de48 100644 --- a/public/app/features/explore/TraceView/components/utils/span-ancestor-ids.test.ts +++ b/public/app/features/explore/TraceView/components/utils/span-ancestor-ids.test.ts @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -import { TraceSpan } from '../types'; +import { TraceSpan } from '../types/trace'; import spanAncestorIdsSpy from './span-ancestor-ids'; diff --git a/public/app/features/explore/TraceView/components/utils/span-ancestor-ids.tsx b/public/app/features/explore/TraceView/components/utils/span-ancestor-ids.tsx index 5ddb037aa2a..af9ac5282e0 100644 --- a/public/app/features/explore/TraceView/components/utils/span-ancestor-ids.tsx +++ b/public/app/features/explore/TraceView/components/utils/span-ancestor-ids.tsx @@ -14,7 +14,8 @@ import { find as _find, get as _get } from 'lodash'; -import { TNil, TraceSpan } from '../types'; +import TNil from '../types/TNil'; +import { TraceSpan } from '../types/trace'; function getFirstAncestor(span: TraceSpan): TraceSpan | TNil { return _get( diff --git a/public/app/features/explore/TraceView/createSpanLink.test.ts b/public/app/features/explore/TraceView/createSpanLink.test.ts index 6d2ee26d684..03a4651e8a5 100644 --- a/public/app/features/explore/TraceView/createSpanLink.test.ts +++ b/public/app/features/explore/TraceView/createSpanLink.test.ts @@ -14,8 +14,8 @@ import { DatasourceSrv } from 'app/features/plugins/datasource_srv'; import { LinkSrv, setLinkSrv } from '../../panel/panellinks/link_srv'; import { TemplateSrv } from '../../templating/template_srv'; -import { Trace, TraceSpan } from './components'; import { SpanLinkType } from './components/types/links'; +import { Trace, TraceSpan } from './components/types/trace'; import { createSpanLinkFactory, pyroscopeProfileIdTagKey } from './createSpanLink'; const dummyTraceData = { duration: 10, traceID: 'trace1', traceName: 'test trace' } as unknown as Trace; diff --git a/public/app/features/explore/TraceView/createSpanLink.tsx b/public/app/features/explore/TraceView/createSpanLink.tsx index 7059ebac9b3..ee689c39920 100644 --- a/public/app/features/explore/TraceView/createSpanLink.tsx +++ b/public/app/features/explore/TraceView/createSpanLink.tsx @@ -28,9 +28,8 @@ import { getDatasourceSrv } from 'app/features/plugins/datasource_srv'; import { LokiQuery } from '../../../plugins/datasource/loki/types'; import { ExploreFieldLinkModel, getFieldLinksForExplore, getVariableUsageInfo } from '../utils/links'; -import { SpanLinkDef, SpanLinkFunc, Trace, TraceSpan } from './components'; -import { SpanLinkType } from './components/types/links'; -import { TraceSpanReference } from './components/types/trace'; +import { SpanLinkDef, SpanLinkFunc, SpanLinkType } from './components/types/links'; +import { Trace, TraceSpan, TraceSpanReference } from './components/types/trace'; /** * This is a factory for the link creator. It returns the function mainly so it can return undefined in which case diff --git a/public/app/features/explore/TraceView/useChildrenState.test.ts b/public/app/features/explore/TraceView/useChildrenState.test.ts index 7b17d67eaaf..ff14e7f9a01 100644 --- a/public/app/features/explore/TraceView/useChildrenState.test.ts +++ b/public/app/features/explore/TraceView/useChildrenState.test.ts @@ -1,6 +1,6 @@ import { renderHook, act } from '@testing-library/react'; -import { TraceSpan } from './components'; +import { TraceSpan } from './components/types/trace'; import { useChildrenState } from './useChildrenState'; describe('useChildrenState', () => { diff --git a/public/app/features/explore/TraceView/useChildrenState.ts b/public/app/features/explore/TraceView/useChildrenState.ts index 1bfca3611d6..7b9c34070eb 100644 --- a/public/app/features/explore/TraceView/useChildrenState.ts +++ b/public/app/features/explore/TraceView/useChildrenState.ts @@ -1,6 +1,6 @@ import { useCallback, useState } from 'react'; -import { TraceSpan } from './components'; +import { TraceSpan } from './components/types/trace'; /** * Children state means whether spans are collapsed or not. Also provides some functions to manipulate that state. diff --git a/public/app/features/explore/TraceView/useDetailState.ts b/public/app/features/explore/TraceView/useDetailState.ts index 48414154995..aea1548d7b4 100644 --- a/public/app/features/explore/TraceView/useDetailState.ts +++ b/public/app/features/explore/TraceView/useDetailState.ts @@ -2,7 +2,7 @@ import { useCallback, useState, useEffect } from 'react'; import { DataFrame, TraceLog } from '@grafana/data'; -import { DetailState } from './components'; +import DetailState from './components/TraceTimelineViewer/SpanDetail/DetailState'; import { TraceSpanReference } from './components/types/trace'; /** * Keeps state of the span detail. This means whether span details are open but also state of each detail subitem diff --git a/public/app/features/explore/TraceView/useSearch.test.ts b/public/app/features/explore/TraceView/useSearch.test.ts index 138710c8b79..0379aabba75 100644 --- a/public/app/features/explore/TraceView/useSearch.test.ts +++ b/public/app/features/explore/TraceView/useSearch.test.ts @@ -1,6 +1,6 @@ import { act, renderHook } from '@testing-library/react'; -import { TraceSpan } from './components'; +import { TraceSpan } from './components/types/trace'; import { defaultFilters, useSearch } from './useSearch'; describe('useSearch', () => { diff --git a/public/app/features/explore/TraceView/useSearch.ts b/public/app/features/explore/TraceView/useSearch.ts index 834dbfb0714..779a318fec2 100644 --- a/public/app/features/explore/TraceView/useSearch.ts +++ b/public/app/features/explore/TraceView/useSearch.ts @@ -4,7 +4,8 @@ import { v4 as uuidv4 } from 'uuid'; import { InterpolateFunction } from '@grafana/data'; -import { filterSpans, TraceSpan } from './components'; +import { TraceSpan } from './components/types/trace'; +import { filterSpans } from './components/utils/filter-spans'; export interface SearchProps { serviceName?: string; diff --git a/public/app/features/explore/TraceView/useViewRange.ts b/public/app/features/explore/TraceView/useViewRange.ts index f577beb0b38..54cb8397a72 100644 --- a/public/app/features/explore/TraceView/useViewRange.ts +++ b/public/app/features/explore/TraceView/useViewRange.ts @@ -1,6 +1,6 @@ import { useCallback, useState } from 'react'; -import { ViewRangeTimeUpdate, ViewRange } from './components'; +import { ViewRange, ViewRangeTimeUpdate } from './components/TraceTimelineViewer/types'; /** * Controls state of the zoom function that can be used through minimap in header or on the timeline. ViewRange contains diff --git a/public/app/features/explore/TraceView/utils/tags.ts b/public/app/features/explore/TraceView/utils/tags.ts index fb3670573ab..293326e359e 100644 --- a/public/app/features/explore/TraceView/utils/tags.ts +++ b/public/app/features/explore/TraceView/utils/tags.ts @@ -1,7 +1,6 @@ import { SpanStatusCode } from '@opentelemetry/api'; import { uniq } from 'lodash'; -import { Trace } from '../components'; import { ID, KIND, @@ -11,6 +10,7 @@ import { STATUS_MESSAGE, TRACE_STATE, } from '../components/constants/span'; +import { Trace } from '../components/types/trace'; export const getTraceServiceNames = (trace: Trace) => { const serviceNames = trace.spans.map((span) => { diff --git a/public/app/features/explore/TraceView/utils/transform.ts b/public/app/features/explore/TraceView/utils/transform.ts index f731ac653da..4688bc4b94b 100644 --- a/public/app/features/explore/TraceView/utils/transform.ts +++ b/public/app/features/explore/TraceView/utils/transform.ts @@ -1,6 +1,7 @@ import { DataFrame, DataFrameView, TraceSpanRow } from '@grafana/data'; -import { Trace, TraceProcess, TraceResponse, transformTraceData } from '../components'; +import transformTraceData from '../components/model/transform-trace-data'; +import { Trace, TraceProcess, TraceResponse } from '../components/types/trace'; export function transformDataFrames(frame?: DataFrame): Trace | null { if (!frame) { diff --git a/public/app/features/plugins/admin/components/Badges/index.ts b/public/app/features/plugins/admin/components/Badges/index.ts deleted file mode 100644 index c62d5cecc71..00000000000 --- a/public/app/features/plugins/admin/components/Badges/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -export { PluginDisabledBadge } from './PluginDisabledBadge'; -export { PluginInstalledBadge } from './PluginInstallBadge'; -export { PluginEnterpriseBadge } from './PluginEnterpriseBadge'; -export { PluginUpdateAvailableBadge } from './PluginUpdateAvailableBadge'; -export { PluginDeprecatedBadge } from './PluginDeprecatedBadge'; diff --git a/public/app/features/plugins/admin/components/ConnectionsTab.test.tsx b/public/app/features/plugins/admin/components/ConnectionsTab.test.tsx index 710f90dc13b..340e455e14b 100644 --- a/public/app/features/plugins/admin/components/ConnectionsTab.test.tsx +++ b/public/app/features/plugins/admin/components/ConnectionsTab.test.tsx @@ -11,9 +11,13 @@ import { datasourcePlugin } from '../mocks/catalogPlugin.mock'; import ConnectionsTab, { ConnectionsList } from './ConnectionsTab'; -jest.mock('app/features/datasources/state', () => ({ - ...jest.requireActual('app/features/datasources/state'), +jest.mock('app/features/datasources/state/hooks.ts', () => ({ + ...jest.requireActual('app/features/datasources/state/hooks.ts'), useLoadDataSource: jest.fn().mockReturnValue({ isLoading: false }), +})); + +jest.mock('app/features/datasources/state/selectors.ts', () => ({ + ...jest.requireActual('app/features/datasources/state/selectors.ts'), getDataSources: jest.fn(() => 'getDataSources mock implementation'), })); @@ -46,7 +50,7 @@ describe('', () => { setupContextSrv(); const mockedConnections = getMockDataSources(3, { type: datasourcePlugin.id }); mockedConnections[2].type = 'other-plugin-id'; - jest.requireMock('app/features/datasources/state').getDataSources.mockReturnValue(mockedConnections); + jest.requireMock('app/features/datasources/state/selectors.ts').getDataSources.mockReturnValue(mockedConnections); render(); @@ -59,7 +63,9 @@ describe('', () => { it('should render add new datasource button when no datasources are defined', async () => { setupContextSrv(); - jest.requireMock('app/features/datasources/state').getDataSources.mockReturnValue(getMockDataSources(1)); + jest + .requireMock('app/features/datasources/state/selectors.ts') + .getDataSources.mockReturnValue(getMockDataSources(1)); render(); expect(screen.getByText('Add new data source')).toBeVisible(); diff --git a/public/app/features/plugins/admin/components/ConnectionsTab.tsx b/public/app/features/plugins/admin/components/ConnectionsTab.tsx index e12bfec46d0..a7b82b35774 100644 --- a/public/app/features/plugins/admin/components/ConnectionsTab.tsx +++ b/public/app/features/plugins/admin/components/ConnectionsTab.tsx @@ -6,7 +6,8 @@ import { EmptyState, Stack, TextLink, useStyles2 } from '@grafana/ui'; import { contextSrv } from 'app/core/services/context_srv'; import { ViewProps } from 'app/features/datasources/components/DataSourcesList'; import { DataSourcesListCard } from 'app/features/datasources/components/DataSourcesListCard'; -import { getDataSources, useLoadDataSources } from 'app/features/datasources/state'; +import { useLoadDataSources } from 'app/features/datasources/state/hooks'; +import { getDataSources } from 'app/features/datasources/state/selectors'; import { AccessControlAction, useSelector } from 'app/types'; import { CatalogPlugin } from '../types'; diff --git a/public/app/features/plugins/admin/components/GetStartedWithPlugin/GetStartedWithDataSource.tsx b/public/app/features/plugins/admin/components/GetStartedWithPlugin/GetStartedWithDataSource.tsx index cd58057ae3c..13b490c3797 100644 --- a/public/app/features/plugins/admin/components/GetStartedWithPlugin/GetStartedWithDataSource.tsx +++ b/public/app/features/plugins/admin/components/GetStartedWithPlugin/GetStartedWithDataSource.tsx @@ -6,7 +6,7 @@ import { Trans, t } from '@grafana/i18n'; import { config } from '@grafana/runtime'; import { Button } from '@grafana/ui'; import { ROUTES } from 'app/features/connections/constants'; -import { addDataSource } from 'app/features/datasources/state'; +import { addDataSource } from 'app/features/datasources/state/actions'; import { useDispatch } from 'app/types'; import { isDataSourceEditor } from '../../permissions'; diff --git a/public/app/features/plugins/admin/components/InstallControls/index.tsx b/public/app/features/plugins/admin/components/InstallControls/index.tsx deleted file mode 100644 index b471668b365..00000000000 --- a/public/app/features/plugins/admin/components/InstallControls/index.tsx +++ /dev/null @@ -1,2 +0,0 @@ -export { InstallControlsWarning } from './InstallControlsWarning'; -export { InstallControlsButton } from './InstallControlsButton'; diff --git a/public/app/features/plugins/admin/components/PluginActions.tsx b/public/app/features/plugins/admin/components/PluginActions.tsx index edcd72cfb4c..d3e7f4a675c 100644 --- a/public/app/features/plugins/admin/components/PluginActions.tsx +++ b/public/app/features/plugins/admin/components/PluginActions.tsx @@ -6,7 +6,7 @@ import { Trans } from '@grafana/i18n'; import { Icon, Stack, useStyles2 } from '@grafana/ui'; import { GetStartedWithPlugin } from '../components/GetStartedWithPlugin'; -import { InstallControlsButton } from '../components/InstallControls'; +import { InstallControlsButton } from '../components/InstallControls/InstallControlsButton'; import { getLatestCompatibleVersion, hasInstallControlWarning, diff --git a/public/app/features/plugins/admin/components/PluginListItemBadges.tsx b/public/app/features/plugins/admin/components/PluginListItemBadges.tsx index 206b5993162..b6b6cd9e084 100644 --- a/public/app/features/plugins/admin/components/PluginListItemBadges.tsx +++ b/public/app/features/plugins/admin/components/PluginListItemBadges.tsx @@ -3,13 +3,11 @@ import { PluginSignatureBadge, Stack } from '@grafana/ui'; import { isPluginUpdatable } from '../helpers'; import { CatalogPlugin } from '../types'; -import { - PluginEnterpriseBadge, - PluginDisabledBadge, - PluginInstalledBadge, - PluginUpdateAvailableBadge, - PluginDeprecatedBadge, -} from './Badges'; +import { PluginDeprecatedBadge } from './Badges/PluginDeprecatedBadge'; +import { PluginDisabledBadge } from './Badges/PluginDisabledBadge'; +import { PluginEnterpriseBadge } from './Badges/PluginEnterpriseBadge'; +import { PluginInstalledBadge } from './Badges/PluginInstallBadge'; +import { PluginUpdateAvailableBadge } from './Badges/PluginUpdateAvailableBadge'; type PluginBadgeType = { plugin: CatalogPlugin; diff --git a/public/app/features/plugins/admin/components/PluginSubtitle.tsx b/public/app/features/plugins/admin/components/PluginSubtitle.tsx index 6f8175908db..0a66d863938 100644 --- a/public/app/features/plugins/admin/components/PluginSubtitle.tsx +++ b/public/app/features/plugins/admin/components/PluginSubtitle.tsx @@ -5,7 +5,7 @@ import { GrafanaTheme2 } from '@grafana/data'; import { config } from '@grafana/runtime'; import { Alert, Stack, useStyles2 } from '@grafana/ui'; -import { InstallControlsWarning } from '../components/InstallControls'; +import { InstallControlsWarning } from '../components/InstallControls/InstallControlsWarning'; import { getLatestCompatibleVersion, hasInstallControlWarning } from '../helpers'; import { useInstallStatus, useIsRemotePluginsAvailable } from '../state/hooks'; import { CatalogPlugin, PluginStatus } from '../types'; diff --git a/public/app/features/plugins/admin/hooks/usePluginInfo.tsx b/public/app/features/plugins/admin/hooks/usePluginInfo.tsx index d8c37ecbd5d..92e75eb3ab9 100644 --- a/public/app/features/plugins/admin/hooks/usePluginInfo.tsx +++ b/public/app/features/plugins/admin/hooks/usePluginInfo.tsx @@ -4,7 +4,7 @@ import { GrafanaTheme2, PluginSignatureType } from '@grafana/data'; import { t } from '@grafana/i18n'; import { PageInfoItem } from '../../../../core/components/Page/types'; -import { PluginDisabledBadge } from '../components/Badges'; +import { PluginDisabledBadge } from '../components/Badges/PluginDisabledBadge'; import { PluginDetailsHeaderDependencies } from '../components/PluginDetailsHeaderDependencies'; import { PluginDetailsHeaderSignature } from '../components/PluginDetailsHeaderSignature'; import { getLatestCompatibleVersion } from '../helpers'; diff --git a/public/app/features/transformers/editors/ConvertFieldTypeTransformerEditor.tsx b/public/app/features/transformers/editors/ConvertFieldTypeTransformerEditor.tsx index eb55c1d9d6f..2385bc72fd4 100644 --- a/public/app/features/transformers/editors/ConvertFieldTypeTransformerEditor.tsx +++ b/public/app/features/transformers/editors/ConvertFieldTypeTransformerEditor.tsx @@ -16,7 +16,7 @@ import { ConvertFieldTypeOptions, ConvertFieldTypeTransformerOptions } from '@gr import { t } from '@grafana/i18n'; import { Button, InlineField, InlineFieldRow, Input, Select } from '@grafana/ui'; import { allFieldTypeIconOptions, FieldNamePicker } from '@grafana/ui/internal'; -import { findField } from 'app/features/dimensions'; +import { findField } from 'app/features/dimensions/utils'; import { getTransformationContent } from '../docs/getTransformationContent'; import { getTimezoneOptions } from '../utils'; diff --git a/public/app/features/transformers/extractFields/extractFields.ts b/public/app/features/transformers/extractFields/extractFields.ts index 70ab7f5cfa1..c50c575939a 100644 --- a/public/app/features/transformers/extractFields/extractFields.ts +++ b/public/app/features/transformers/extractFields/extractFields.ts @@ -11,7 +11,7 @@ import { SynchronousDataTransformerInfo, } from '@grafana/data'; import { config } from '@grafana/runtime'; -import { findField } from 'app/features/dimensions'; +import { findField } from 'app/features/dimensions/utils'; import { fieldExtractors } from './fieldExtractors'; import { ExtractFieldsOptions, FieldExtractorID, JSONPath } from './types'; diff --git a/public/app/plugins/datasource/azuremonitor/azureMetadata/index.ts b/public/app/plugins/datasource/azuremonitor/azureMetadata/index.ts deleted file mode 100644 index 7514607b889..00000000000 --- a/public/app/plugins/datasource/azuremonitor/azureMetadata/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './resourceTypes'; -export * from './logsResourceTypes'; diff --git a/public/app/plugins/datasource/azuremonitor/azure_log_analytics/azure_log_analytics_datasource.test.ts b/public/app/plugins/datasource/azuremonitor/azure_log_analytics/azure_log_analytics_datasource.test.ts index 2c59c4a38bb..88043e66dc2 100644 --- a/public/app/plugins/datasource/azuremonitor/azure_log_analytics/azure_log_analytics_datasource.test.ts +++ b/public/app/plugins/datasource/azuremonitor/azure_log_analytics/azure_log_analytics_datasource.test.ts @@ -3,7 +3,7 @@ import { CustomVariableModel } from '@grafana/data'; import { Context, createContext } from '../mocks/datasource'; import createMockQuery from '../mocks/query'; import { singleVariable } from '../mocks/variables'; -import { AzureLogsQuery, AzureMonitorQuery, AzureQueryType, AzureTracesQuery } from '../types'; +import { AzureLogsQuery, AzureMonitorQuery, AzureQueryType, AzureTracesQuery } from '../types/query'; import AzureLogAnalyticsDatasource from './azure_log_analytics_datasource'; import FakeSchemaData from './mocks/schema'; diff --git a/public/app/plugins/datasource/azuremonitor/azure_log_analytics/azure_log_analytics_datasource.ts b/public/app/plugins/datasource/azuremonitor/azure_log_analytics/azure_log_analytics_datasource.ts index cb08deeafcc..77733e2dfa3 100644 --- a/public/app/plugins/datasource/azuremonitor/azure_log_analytics/azure_log_analytics_datasource.ts +++ b/public/app/plugins/datasource/azuremonitor/azure_log_analytics/azure_log_analytics_datasource.ts @@ -6,17 +6,16 @@ import { DataSourceWithBackend, getTemplateSrv, TemplateSrv } from '@grafana/run import ResponseParser from '../azure_monitor/response_parser'; import { getCredentials } from '../credentials'; +import { AzureMonitorQuery, AzureQueryType } from '../types/query'; import { + AzureMonitorDataSourceJsonData, + AzureMonitorDataSourceInstanceSettings, AzureAPIResponse, AzureLogsVariable, - AzureMonitorDataSourceInstanceSettings, - AzureMonitorDataSourceJsonData, - AzureMonitorQuery, - AzureQueryType, + Workspace, DatasourceValidationResult, Subscription, - Workspace, -} from '../types'; +} from '../types/types'; import { interpolateVariable, routeNames } from '../utils/common'; import { transformMetadataToKustoSchema } from './utils'; diff --git a/public/app/plugins/datasource/azuremonitor/azure_log_analytics/mocks/schema.ts b/public/app/plugins/datasource/azuremonitor/azure_log_analytics/mocks/schema.ts index 40257cee20b..b7f3cc12aa5 100644 --- a/public/app/plugins/datasource/azuremonitor/azure_log_analytics/mocks/schema.ts +++ b/public/app/plugins/datasource/azuremonitor/azure_log_analytics/mocks/schema.ts @@ -1,4 +1,5 @@ -import { AzureLogAnalyticsMetadataTable, EngineSchema } from '../../types'; +import { AzureLogAnalyticsMetadataTable } from '../../types/logAnalyticsMetadata'; +import { EngineSchema } from '../../types/types'; export default class FakeSchemaData { static getLogAnalyticsFakeSchema() { diff --git a/public/app/plugins/datasource/azuremonitor/azure_log_analytics/utils.ts b/public/app/plugins/datasource/azuremonitor/azure_log_analytics/utils.ts index 7f577f53d4f..8124207b449 100644 --- a/public/app/plugins/datasource/azuremonitor/azure_log_analytics/utils.ts +++ b/public/app/plugins/datasource/azuremonitor/azure_log_analytics/utils.ts @@ -1,7 +1,7 @@ import { TypedVariableModel } from '@grafana/data'; -import { EngineSchema } from '../types'; import { AzureLogAnalyticsMetadata } from '../types/logAnalyticsMetadata'; +import { EngineSchema } from '../types/types'; // matches (name):(type) = (defaultValue) // e.g. fromRangeStart:datetime = datetime(null) diff --git a/public/app/plugins/datasource/azuremonitor/azure_monitor/azure_monitor_datasource.test.ts b/public/app/plugins/datasource/azuremonitor/azure_monitor/azure_monitor_datasource.test.ts index c5561e53be1..0b96116b304 100644 --- a/public/app/plugins/datasource/azuremonitor/azure_monitor/azure_monitor_datasource.test.ts +++ b/public/app/plugins/datasource/azuremonitor/azure_monitor/azure_monitor_datasource.test.ts @@ -13,7 +13,7 @@ import { Location, RawAzureResourceGroupItem, RawAzureResourceItem, -} from '../types'; +} from '../types/types'; // We want replace to just return the value as is in general/ // We declare this as a function so that we can overwrite it in each test diff --git a/public/app/plugins/datasource/azuremonitor/azure_monitor/azure_monitor_datasource.ts b/public/app/plugins/datasource/azuremonitor/azure_monitor/azure_monitor_datasource.ts index cd8a21476c7..a4bb34dc5f9 100644 --- a/public/app/plugins/datasource/azuremonitor/azure_monitor/azure_monitor_datasource.ts +++ b/public/app/plugins/datasource/azuremonitor/azure_monitor/azure_monitor_datasource.ts @@ -6,16 +6,14 @@ import { DataSourceWithBackend, getTemplateSrv, TemplateSrv } from '@grafana/run import { getCredentials } from '../credentials'; import TimegrainConverter from '../time_grain_converter'; +import { AzureMetricQuery, AzureMonitorQuery, AzureQueryType } from '../types/query'; import { AzureAPIResponse, - AzureMetricQuery, AzureMonitorDataSourceInstanceSettings, AzureMonitorDataSourceJsonData, AzureMonitorLocations, AzureMonitorMetricsMetadataResponse, AzureMonitorProvidersResponse, - AzureMonitorQuery, - AzureQueryType, DatasourceValidationResult, GetLogAnalyticsTableResponse, GetMetricMetadataQuery, @@ -27,7 +25,7 @@ import { MetricNamespace, Subscription, TablePlan, -} from '../types'; +} from '../types/types'; import { replaceTemplateVariables, routeNames } from '../utils/common'; import migrateQuery from '../utils/migrateQuery'; diff --git a/public/app/plugins/datasource/azuremonitor/azure_monitor/response_parser.ts b/public/app/plugins/datasource/azuremonitor/azure_monitor/response_parser.ts index 42dacec1042..c4a00c1db8c 100644 --- a/public/app/plugins/datasource/azuremonitor/azure_monitor/response_parser.ts +++ b/public/app/plugins/datasource/azuremonitor/azure_monitor/response_parser.ts @@ -4,15 +4,16 @@ import { FetchResponse } from '@grafana/runtime'; import TimeGrainConverter from '../time_grain_converter'; import { + AzureAPIResponse, AzureMonitorLocalizedValue, AzureMonitorLocations, AzureMonitorMetricAvailabilityMetadata, AzureMonitorMetricsMetadataResponse, AzureMonitorOption, - AzureAPIResponse, Location, Subscription, -} from '../types'; +} from '../types/types'; + export default class ResponseParser { static parseResponseValues( result: AzureAPIResponse, diff --git a/public/app/plugins/datasource/azuremonitor/azure_monitor/url_builder.ts b/public/app/plugins/datasource/azuremonitor/azure_monitor/url_builder.ts index 148a8a94baf..545c1648315 100644 --- a/public/app/plugins/datasource/azuremonitor/azure_monitor/url_builder.ts +++ b/public/app/plugins/datasource/azuremonitor/azure_monitor/url_builder.ts @@ -1,6 +1,7 @@ import { TemplateSrv } from '@grafana/runtime'; -import { AzureMonitorResource, GetMetricNamespacesQuery, GetMetricNamesQuery } from '../types'; +import { AzureMonitorResource } from '../types/query'; +import { GetMetricNamespacesQuery, GetMetricNamesQuery } from '../types/types'; export default class UrlBuilder { static buildResourceUri(templateSrv: TemplateSrv, resource: AzureMonitorResource, multipleResources?: boolean) { diff --git a/public/app/plugins/datasource/azuremonitor/azure_resource_graph/azure_resource_graph_datasource.test.ts b/public/app/plugins/datasource/azuremonitor/azure_resource_graph/azure_resource_graph_datasource.test.ts index fc58c626fbf..c6c920f062d 100644 --- a/public/app/plugins/datasource/azuremonitor/azure_resource_graph/azure_resource_graph_datasource.test.ts +++ b/public/app/plugins/datasource/azuremonitor/azure_resource_graph/azure_resource_graph_datasource.test.ts @@ -7,7 +7,7 @@ import { createMockInstanceSetttings } from '../mocks/instanceSettings'; import createMockQuery from '../mocks/query'; import { createTemplateVariables } from '../mocks/utils'; import { multiVariable, singleVariable, subscriptionsVariable } from '../mocks/variables'; -import { AzureQueryType } from '../types'; +import { AzureQueryType } from '../types/query'; import AzureResourceGraphDatasource from './azure_resource_graph_datasource'; diff --git a/public/app/plugins/datasource/azuremonitor/azure_resource_graph/azure_resource_graph_datasource.ts b/public/app/plugins/datasource/azuremonitor/azure_resource_graph/azure_resource_graph_datasource.ts index ac4f32e1986..67a6532deeb 100644 --- a/public/app/plugins/datasource/azuremonitor/azure_resource_graph/azure_resource_graph_datasource.ts +++ b/public/app/plugins/datasource/azuremonitor/azure_resource_graph/azure_resource_graph_datasource.ts @@ -3,20 +3,19 @@ import { filter, find, includes, startsWith } from 'lodash'; import { ScopedVars } from '@grafana/data'; import { DataSourceWithBackend, getTemplateSrv, TemplateSrv } from '@grafana/runtime'; -import { resourceTypes } from '../azureMetadata'; +import { resourceTypes } from '../azureMetadata/resourceTypes'; import { ARGScope } from '../dataquery.gen'; +import { AzureMonitorQuery, AzureQueryType } from '../types/query'; import { AzureGetResourceNamesQuery, AzureGraphResponse, AzureMonitorDataSourceInstanceSettings, AzureMonitorDataSourceJsonData, - AzureMonitorQuery, - AzureQueryType, AzureResourceGraphOptions, RawAzureResourceGroupItem, RawAzureResourceItem, RawAzureSubscriptionItem, -} from '../types'; +} from '../types/types'; import { interpolateVariable, replaceTemplateVariables, routeNames } from '../utils/common'; export default class AzureResourceGraphDatasource extends DataSourceWithBackend< diff --git a/public/app/plugins/datasource/azuremonitor/components/ArgQueryEditor/ArgQueryEditor.tsx b/public/app/plugins/datasource/azuremonitor/components/ArgQueryEditor/ArgQueryEditor.tsx index 43b2a82ee43..b15705db73b 100644 --- a/public/app/plugins/datasource/azuremonitor/components/ArgQueryEditor/ArgQueryEditor.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/ArgQueryEditor/ArgQueryEditor.tsx @@ -9,7 +9,8 @@ import { Combobox } from '@grafana/ui'; import { ARGScope } from '../../dataquery.gen'; import Datasource from '../../datasource'; import { selectors } from '../../e2e/selectors'; -import { AzureMonitorErrorish, AzureMonitorOption, AzureMonitorQuery } from '../../types'; +import { AzureMonitorQuery } from '../../types/query'; +import { AzureMonitorErrorish, AzureMonitorOption } from '../../types/types'; import { Field } from '../shared/Field'; import QueryField from './QueryField'; diff --git a/public/app/plugins/datasource/azuremonitor/components/ArgQueryEditor/QueryField.tsx b/public/app/plugins/datasource/azuremonitor/components/ArgQueryEditor/QueryField.tsx index d6a69f3f3b4..fd06a327e1e 100644 --- a/public/app/plugins/datasource/azuremonitor/components/ArgQueryEditor/QueryField.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/ArgQueryEditor/QueryField.tsx @@ -2,7 +2,7 @@ import { useCallback } from 'react'; import { CodeEditor } from '@grafana/ui'; -import { AzureQueryEditorFieldProps } from '../../types'; +import { AzureQueryEditorFieldProps } from '../../types/types'; const QueryField = ({ query, onQueryChange }: AzureQueryEditorFieldProps) => { const onChange = useCallback( diff --git a/public/app/plugins/datasource/azuremonitor/components/ArgQueryEditor/SubscriptionField.tsx b/public/app/plugins/datasource/azuremonitor/components/ArgQueryEditor/SubscriptionField.tsx index 16ceab1e26d..dfe75072933 100644 --- a/public/app/plugins/datasource/azuremonitor/components/ArgQueryEditor/SubscriptionField.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/ArgQueryEditor/SubscriptionField.tsx @@ -5,7 +5,8 @@ import { Trans, t } from '@grafana/i18n'; import { FieldValidationMessage, MultiSelect } from '@grafana/ui'; import { selectors } from '../../e2e/selectors'; -import { AzureMonitorQuery, AzureQueryEditorFieldProps, AzureMonitorOption } from '../../types'; +import { AzureMonitorQuery } from '../../types/query'; +import { AzureMonitorOption, AzureQueryEditorFieldProps } from '../../types/types'; import { findOptions } from '../../utils/common'; import { Field } from '../shared/Field'; diff --git a/public/app/plugins/datasource/azuremonitor/components/ConfigEditor/BasicLogsToggle.tsx b/public/app/plugins/datasource/azuremonitor/components/ConfigEditor/BasicLogsToggle.tsx index fc5966ccf5d..094780de576 100644 --- a/public/app/plugins/datasource/azuremonitor/components/ConfigEditor/BasicLogsToggle.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/ConfigEditor/BasicLogsToggle.tsx @@ -4,7 +4,7 @@ import * as React from 'react'; import { Trans, t } from '@grafana/i18n'; import { Field, Switch, TextLink, useTheme2 } from '@grafana/ui'; -import { AzureMonitorDataSourceJsonData } from '../../types'; +import { AzureMonitorDataSourceJsonData } from '../../types/types'; export interface Props { options: AzureMonitorDataSourceJsonData; diff --git a/public/app/plugins/datasource/azuremonitor/components/ConfigEditor/ConfigEditor.tsx b/public/app/plugins/datasource/azuremonitor/components/ConfigEditor/ConfigEditor.tsx index 212b02739a9..6fc1c94ce81 100644 --- a/public/app/plugins/datasource/azuremonitor/components/ConfigEditor/ConfigEditor.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/ConfigEditor/ConfigEditor.tsx @@ -13,7 +13,7 @@ import { AzureMonitorDataSourceSecureJsonData, AzureMonitorDataSourceSettings, Subscription, -} from '../../types'; +} from '../../types/types'; import { routeNames } from '../../utils/common'; import { MonitorConfig } from './MonitorConfig'; diff --git a/public/app/plugins/datasource/azuremonitor/components/ConfigEditor/DefaultSubscription.tsx b/public/app/plugins/datasource/azuremonitor/components/ConfigEditor/DefaultSubscription.tsx index e6386e608fb..0bd33039bda 100644 --- a/public/app/plugins/datasource/azuremonitor/components/ConfigEditor/DefaultSubscription.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/ConfigEditor/DefaultSubscription.tsx @@ -6,7 +6,7 @@ import { Trans, t } from '@grafana/i18n'; import { Select, Button, Field } from '@grafana/ui'; import { selectors } from '../../e2e/selectors'; -import { AzureMonitorDataSourceJsonData } from '../../types'; +import { AzureMonitorDataSourceJsonData } from '../../types/types'; export interface Props { options: AzureMonitorDataSourceJsonData; diff --git a/public/app/plugins/datasource/azuremonitor/components/ConfigEditor/MonitorConfig.tsx b/public/app/plugins/datasource/azuremonitor/components/ConfigEditor/MonitorConfig.tsx index a989a01056d..e8b3d77b52a 100644 --- a/public/app/plugins/datasource/azuremonitor/components/ConfigEditor/MonitorConfig.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/ConfigEditor/MonitorConfig.tsx @@ -6,7 +6,7 @@ import { SelectableValue } from '@grafana/data'; import { config } from '@grafana/runtime'; import { getCredentials, updateCredentials } from '../../credentials'; -import { AzureMonitorDataSourceSettings } from '../../types'; +import { AzureMonitorDataSourceSettings } from '../../types/types'; import { AzureCredentialsForm, getAzureCloudOptions } from './AzureCredentialsForm'; import { BasicLogsToggle } from './BasicLogsToggle'; diff --git a/public/app/plugins/datasource/azuremonitor/components/LogsQueryBuilder/AggregationSection.tsx b/public/app/plugins/datasource/azuremonitor/components/LogsQueryBuilder/AggregationSection.tsx index 2647546f0ef..4f3a1050a14 100644 --- a/public/app/plugins/datasource/azuremonitor/components/LogsQueryBuilder/AggregationSection.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/LogsQueryBuilder/AggregationSection.tsx @@ -5,7 +5,8 @@ import { t } from '@grafana/i18n'; import { EditorField, EditorFieldGroup, EditorList, EditorRow } from '@grafana/plugin-ui'; import { BuilderQueryEditorReduceExpression } from '../../dataquery.gen'; -import { AzureLogAnalyticsMetadataColumn, AzureMonitorQuery } from '../../types'; +import { AzureLogAnalyticsMetadataColumn } from '../../types/logAnalyticsMetadata'; +import { AzureMonitorQuery } from '../../types/query'; import AggregateItem from './AggregateItem'; import { BuildAndUpdateOptions } from './utils'; diff --git a/public/app/plugins/datasource/azuremonitor/components/LogsQueryBuilder/FilterSection.tsx b/public/app/plugins/datasource/azuremonitor/components/LogsQueryBuilder/FilterSection.tsx index 1864cc14e5b..c3deae532a3 100644 --- a/public/app/plugins/datasource/azuremonitor/components/LogsQueryBuilder/FilterSection.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/LogsQueryBuilder/FilterSection.tsx @@ -15,7 +15,8 @@ import { BuilderQueryEditorWhereExpressionItems, } from '../../dataquery.gen'; import Datasource from '../../datasource'; -import { AzureLogAnalyticsMetadataColumn, AzureMonitorQuery } from '../../types'; +import { AzureLogAnalyticsMetadataColumn } from '../../types/logAnalyticsMetadata'; +import { AzureMonitorQuery } from '../../types/query'; import { FilterItem } from './FilterItem'; import { BuildAndUpdateOptions } from './utils'; diff --git a/public/app/plugins/datasource/azuremonitor/components/LogsQueryBuilder/FuzzySearch.tsx b/public/app/plugins/datasource/azuremonitor/components/LogsQueryBuilder/FuzzySearch.tsx index bceacb94a8c..6f000c1a923 100644 --- a/public/app/plugins/datasource/azuremonitor/components/LogsQueryBuilder/FuzzySearch.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/LogsQueryBuilder/FuzzySearch.tsx @@ -10,7 +10,8 @@ import { BuilderQueryEditorWhereExpression, BuilderQueryEditorPropertyType, } from '../../dataquery.gen'; -import { AzureLogAnalyticsMetadataColumn, AzureMonitorQuery } from '../../types'; +import { AzureLogAnalyticsMetadataColumn } from '../../types/logAnalyticsMetadata'; +import { AzureMonitorQuery } from '../../types/query'; import { BuildAndUpdateOptions, removeExtraQuotes } from './utils'; diff --git a/public/app/plugins/datasource/azuremonitor/components/LogsQueryBuilder/GroupBySection.tsx b/public/app/plugins/datasource/azuremonitor/components/LogsQueryBuilder/GroupBySection.tsx index 629a5b8093e..5a3b1bca4fd 100644 --- a/public/app/plugins/datasource/azuremonitor/components/LogsQueryBuilder/GroupBySection.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/LogsQueryBuilder/GroupBySection.tsx @@ -10,7 +10,8 @@ import { BuilderQueryEditorGroupByExpression, BuilderQueryEditorPropertyType, } from '../../dataquery.gen'; -import { AzureLogAnalyticsMetadataColumn, AzureMonitorQuery } from '../../types'; +import { AzureLogAnalyticsMetadataColumn } from '../../types/logAnalyticsMetadata'; +import { AzureMonitorQuery } from '../../types/query'; import { GroupByItem } from './GroupByItem'; import { BuildAndUpdateOptions } from './utils'; diff --git a/public/app/plugins/datasource/azuremonitor/components/LogsQueryBuilder/LogsQueryBuilder.tsx b/public/app/plugins/datasource/azuremonitor/components/LogsQueryBuilder/LogsQueryBuilder.tsx index 459f0cebae8..3015fa4179b 100644 --- a/public/app/plugins/datasource/azuremonitor/components/LogsQueryBuilder/LogsQueryBuilder.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/LogsQueryBuilder/LogsQueryBuilder.tsx @@ -17,12 +17,9 @@ import { } from '../../dataquery.gen'; import Datasource from '../../datasource'; import { selectors } from '../../e2e/selectors'; -import { - AzureLogAnalyticsMetadataTable, - AzureLogAnalyticsMetadataColumn, - AzureMonitorQuery, - EngineSchema, -} from '../../types'; +import { AzureLogAnalyticsMetadataTable, AzureLogAnalyticsMetadataColumn } from '../../types/logAnalyticsMetadata'; +import { AzureMonitorQuery } from '../../types/query'; +import { EngineSchema } from '../../types/types'; import { AggregateSection } from './AggregationSection'; import { AzureMonitorKustoQueryBuilder } from './AzureMonitorKustoQueryBuilder'; diff --git a/public/app/plugins/datasource/azuremonitor/components/LogsQueryBuilder/OrderBySection.tsx b/public/app/plugins/datasource/azuremonitor/components/LogsQueryBuilder/OrderBySection.tsx index f98a94cde13..5d88282f289 100644 --- a/public/app/plugins/datasource/azuremonitor/components/LogsQueryBuilder/OrderBySection.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/LogsQueryBuilder/OrderBySection.tsx @@ -11,7 +11,8 @@ import { BuilderQueryEditorOrderByOptions, BuilderQueryEditorPropertyType, } from '../../dataquery.gen'; -import { AzureLogAnalyticsMetadataColumn, AzureMonitorQuery } from '../../types'; +import { AzureLogAnalyticsMetadataColumn } from '../../types/logAnalyticsMetadata'; +import { AzureMonitorQuery } from '../../types/query'; import { BuildAndUpdateOptions, inputFieldSize } from './utils'; diff --git a/public/app/plugins/datasource/azuremonitor/components/LogsQueryBuilder/TableSection.tsx b/public/app/plugins/datasource/azuremonitor/components/LogsQueryBuilder/TableSection.tsx index f01475f78e0..1b5a7e35aa4 100644 --- a/public/app/plugins/datasource/azuremonitor/components/LogsQueryBuilder/TableSection.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/LogsQueryBuilder/TableSection.tsx @@ -6,12 +6,9 @@ import { EditorField, EditorFieldGroup, EditorRow, InputGroup } from '@grafana/p import { Button, Select } from '@grafana/ui'; import { BuilderQueryEditorExpressionType, BuilderQueryEditorPropertyType } from '../../dataquery.gen'; -import { - AzureMonitorQuery, - AzureLogAnalyticsMetadataColumn, - AzureLogAnalyticsMetadataTable, - TablePlan, -} from '../../types'; +import { AzureLogAnalyticsMetadataColumn, AzureLogAnalyticsMetadataTable } from '../../types/logAnalyticsMetadata'; +import { AzureMonitorQuery } from '../../types/query'; +import { TablePlan } from '../../types/types'; import { BuildAndUpdateOptions, inputFieldSize } from './utils'; diff --git a/public/app/plugins/datasource/azuremonitor/components/LogsQueryBuilder/expressions.ts b/public/app/plugins/datasource/azuremonitor/components/LogsQueryBuilder/expressions.ts index bada9ae81b2..8a0dc1a0b37 100644 --- a/public/app/plugins/datasource/azuremonitor/components/LogsQueryBuilder/expressions.ts +++ b/public/app/plugins/datasource/azuremonitor/components/LogsQueryBuilder/expressions.ts @@ -1,4 +1,4 @@ -import { QueryEditorProperty, QueryEditorPropertyType } from '../../types'; +import { QueryEditorProperty, QueryEditorPropertyType } from '../../types/types'; export enum QueryEditorExpressionType { Property = 'property', diff --git a/public/app/plugins/datasource/azuremonitor/components/LogsQueryBuilder/utils.ts b/public/app/plugins/datasource/azuremonitor/components/LogsQueryBuilder/utils.ts index 3c72a880040..062dac286f9 100644 --- a/public/app/plugins/datasource/azuremonitor/components/LogsQueryBuilder/utils.ts +++ b/public/app/plugins/datasource/azuremonitor/components/LogsQueryBuilder/utils.ts @@ -12,7 +12,8 @@ import { BuilderQueryEditorWhereExpression, BuilderQueryExpression, } from '../../dataquery.gen'; -import { AzureLogAnalyticsMetadataColumn, AzureMonitorQuery } from '../../types'; +import { AzureLogAnalyticsMetadataColumn } from '../../types/logAnalyticsMetadata'; +import { AzureMonitorQuery } from '../../types/query'; const DYNAMIC_TYPE_ARRAY_DELIMITER = '["`indexer`"]'; export const inputFieldSize = 20; diff --git a/public/app/plugins/datasource/azuremonitor/components/LogsQueryEditor/AzureCheatSheet.tsx b/public/app/plugins/datasource/azuremonitor/components/LogsQueryEditor/AzureCheatSheet.tsx index c68a707e5f5..efa9c52a0b0 100644 --- a/public/app/plugins/datasource/azuremonitor/components/LogsQueryEditor/AzureCheatSheet.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/LogsQueryEditor/AzureCheatSheet.tsx @@ -17,14 +17,8 @@ import { } from '@grafana/ui'; import AzureLogAnalyticsDatasource from '../../azure_log_analytics/azure_log_analytics_datasource'; -import { - AzureMonitorQuery, - AzureQueryType, - Category, - CheatsheetQueries, - CheatsheetQuery, - DropdownCategories, -} from '../../types'; +import { AzureMonitorQuery, AzureQueryType } from '../../types/query'; +import { Category, CheatsheetQueries, CheatsheetQuery, DropdownCategories } from '../../types/types'; import { RawQuery } from './RawQuery'; import tokenizer from './syntax'; diff --git a/public/app/plugins/datasource/azuremonitor/components/LogsQueryEditor/LogsManagement.tsx b/public/app/plugins/datasource/azuremonitor/components/LogsQueryEditor/LogsManagement.tsx index b0ba3eab206..adfe26927be 100644 --- a/public/app/plugins/datasource/azuremonitor/components/LogsQueryEditor/LogsManagement.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/LogsQueryEditor/LogsManagement.tsx @@ -3,7 +3,7 @@ import { useState } from 'react'; import { t } from '@grafana/i18n'; import { ConfirmModal, InlineField, RadioButtonGroup } from '@grafana/ui'; -import { AzureQueryEditorFieldProps } from '../../types'; +import { AzureQueryEditorFieldProps } from '../../types/types'; import { setBasicLogsQuery, setDashboardTime, setKustoQuery } from './setQueryValue'; diff --git a/public/app/plugins/datasource/azuremonitor/components/LogsQueryEditor/LogsQueryEditor.tsx b/public/app/plugins/datasource/azuremonitor/components/LogsQueryEditor/LogsQueryEditor.tsx index 1f2ad8a8f6f..2c7fbced3be 100644 --- a/public/app/plugins/datasource/azuremonitor/components/LogsQueryEditor/LogsQueryEditor.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/LogsQueryEditor/LogsQueryEditor.tsx @@ -9,14 +9,9 @@ import { Alert, LinkButton, Space, Text, TextLink } from '@grafana/ui'; import { LogsEditorMode } from '../../dataquery.gen'; import Datasource from '../../datasource'; import { selectors } from '../../e2e/selectors'; -import { - AzureMonitorErrorish, - AzureMonitorOption, - AzureMonitorQuery, - ResultFormat, - EngineSchema, - AzureLogAnalyticsMetadataTable, -} from '../../types'; +import { AzureLogAnalyticsMetadataTable } from '../../types/logAnalyticsMetadata'; +import { AzureMonitorQuery, ResultFormat } from '../../types/query'; +import { AzureMonitorErrorish, AzureMonitorOption, EngineSchema } from '../../types/types'; import { LogsQueryBuilder } from '../LogsQueryBuilder/LogsQueryBuilder'; import ResourceField from '../ResourceField'; import { ResourceRow, ResourceRowGroup, ResourceRowType } from '../ResourcePicker/types'; diff --git a/public/app/plugins/datasource/azuremonitor/components/LogsQueryEditor/QueryField.tsx b/public/app/plugins/datasource/azuremonitor/components/LogsQueryEditor/QueryField.tsx index e540de2bf21..679b2dad27f 100644 --- a/public/app/plugins/datasource/azuremonitor/components/LogsQueryEditor/QueryField.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/LogsQueryEditor/QueryField.tsx @@ -3,7 +3,7 @@ import { useCallback, useEffect, useState } from 'react'; import { CodeEditor, Monaco, MonacoEditor } from '@grafana/ui'; -import { AzureQueryEditorFieldProps } from '../../types'; +import { AzureQueryEditorFieldProps } from '../../types/types'; import { setKustoQuery } from './setQueryValue'; diff --git a/public/app/plugins/datasource/azuremonitor/components/LogsQueryEditor/TimeManagement.tsx b/public/app/plugins/datasource/azuremonitor/components/LogsQueryEditor/TimeManagement.tsx index 534f91c2fcb..f66e54ce88b 100644 --- a/public/app/plugins/datasource/azuremonitor/components/LogsQueryEditor/TimeManagement.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/LogsQueryEditor/TimeManagement.tsx @@ -4,7 +4,7 @@ import { SelectableValue } from '@grafana/data'; import { Trans, t } from '@grafana/i18n'; import { InlineField, RadioButtonGroup, Select } from '@grafana/ui'; -import { AzureQueryEditorFieldProps } from '../../types'; +import { AzureQueryEditorFieldProps } from '../../types/types'; import { setDashboardTime, setTimeColumn } from './setQueryValue'; diff --git a/public/app/plugins/datasource/azuremonitor/components/LogsQueryEditor/setQueryValue.ts b/public/app/plugins/datasource/azuremonitor/components/LogsQueryEditor/setQueryValue.ts index 31c7933c9ad..9662afd52af 100644 --- a/public/app/plugins/datasource/azuremonitor/components/LogsQueryEditor/setQueryValue.ts +++ b/public/app/plugins/datasource/azuremonitor/components/LogsQueryEditor/setQueryValue.ts @@ -1,6 +1,6 @@ import { SelectableValue } from '@grafana/data'; -import { AzureMonitorQuery, ResultFormat } from '../../types'; +import { AzureMonitorQuery, ResultFormat } from '../../types/query'; export function setKustoQuery(query: AzureMonitorQuery, kustoQuery: string): AzureMonitorQuery { return { diff --git a/public/app/plugins/datasource/azuremonitor/components/LogsQueryEditor/useMigrations.ts b/public/app/plugins/datasource/azuremonitor/components/LogsQueryEditor/useMigrations.ts index 9c5beb75421..32024ee2b7b 100644 --- a/public/app/plugins/datasource/azuremonitor/components/LogsQueryEditor/useMigrations.ts +++ b/public/app/plugins/datasource/azuremonitor/components/LogsQueryEditor/useMigrations.ts @@ -1,7 +1,7 @@ import { useEffect, useState } from 'react'; import Datasource from '../../datasource'; -import { AzureMonitorQuery } from '../../types'; +import { AzureMonitorQuery } from '../../types/query'; import { isGUIDish } from '../ResourcePicker/utils'; async function migrateWorkspaceQueryToResourceQuery( diff --git a/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/AdvancedResourcePicker.tsx b/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/AdvancedResourcePicker.tsx index dfeb9b59867..abf4d91de90 100644 --- a/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/AdvancedResourcePicker.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/AdvancedResourcePicker.tsx @@ -7,7 +7,7 @@ import { AccessoryButton } from '@grafana/plugin-ui'; import { Input, Label, InlineField, Button, useStyles2 } from '@grafana/ui'; import { selectors } from '../../e2e/selectors'; -import { AzureMonitorResource } from '../../types'; +import { AzureMonitorResource } from '../../types/query'; export interface ResourcePickerProps { resources: T[]; diff --git a/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/AggregationField.test.tsx b/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/AggregationField.test.tsx index 35063802773..26724c82f09 100644 --- a/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/AggregationField.test.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/AggregationField.test.tsx @@ -2,7 +2,7 @@ import { render, screen } from '@testing-library/react'; import createMockDatasource from '../../mocks/datasource'; import createMockQuery from '../../mocks/query'; -import { AzureMonitorOption } from '../../types'; +import { AzureMonitorOption } from '../../types/types'; import AggregationField from './AggregationField'; diff --git a/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/AggregationField.tsx b/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/AggregationField.tsx index 659718a0c15..e3eae750d76 100644 --- a/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/AggregationField.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/AggregationField.tsx @@ -4,7 +4,7 @@ import { SelectableValue } from '@grafana/data'; import { t } from '@grafana/i18n'; import { Select } from '@grafana/ui'; -import { AzureQueryEditorFieldProps, AzureMonitorOption } from '../../types'; +import { AzureMonitorOption, AzureQueryEditorFieldProps } from '../../types/types'; import { addValueToOptions } from '../../utils/common'; import { Field } from '../shared/Field'; diff --git a/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/DimensionFields.tsx b/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/DimensionFields.tsx index e4756276aab..6a7d3c22d37 100644 --- a/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/DimensionFields.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/DimensionFields.tsx @@ -5,7 +5,8 @@ import { t } from '@grafana/i18n'; import { EditorList, AccessoryButton } from '@grafana/plugin-ui'; import { Select, Stack, MultiSelect } from '@grafana/ui'; -import { AzureMetricDimension, AzureMonitorOption, AzureMonitorQuery, AzureQueryEditorFieldProps } from '../../types'; +import { AzureMetricDimension, AzureMonitorQuery } from '../../types/query'; +import { AzureMonitorOption, AzureQueryEditorFieldProps } from '../../types/types'; import { Field } from '../shared/Field'; import { setDimensionFilters } from './setQueryValue'; diff --git a/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/LegendFormatField.tsx b/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/LegendFormatField.tsx index 7852168636d..955e29f3ee8 100644 --- a/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/LegendFormatField.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/LegendFormatField.tsx @@ -4,7 +4,7 @@ import * as React from 'react'; import { t } from '@grafana/i18n'; import { Input } from '@grafana/ui'; -import { AzureQueryEditorFieldProps } from '../../types'; +import { AzureQueryEditorFieldProps } from '../../types/types'; import { Field } from '../shared/Field'; import { setLegendAlias } from './setQueryValue'; diff --git a/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/MetricNameField.test.tsx b/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/MetricNameField.test.tsx index 06a08b1cdeb..95215db882c 100644 --- a/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/MetricNameField.test.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/MetricNameField.test.tsx @@ -2,7 +2,7 @@ import { render, screen } from '@testing-library/react'; import createMockDatasource from '../../mocks/datasource'; import createMockQuery from '../../mocks/query'; -import { AzureMonitorOption } from '../../types'; +import { AzureMonitorOption } from '../../types/types'; import MetricNameField from './MetricNameField'; diff --git a/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/MetricNameField.tsx b/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/MetricNameField.tsx index 92a68181347..4d94af7a366 100644 --- a/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/MetricNameField.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/MetricNameField.tsx @@ -5,7 +5,7 @@ import { t } from '@grafana/i18n'; import { Select } from '@grafana/ui'; import { selectors } from '../../e2e/selectors'; -import { AzureQueryEditorFieldProps, AzureMonitorOption } from '../../types'; +import { AzureQueryEditorFieldProps, AzureMonitorOption } from '../../types/types'; import { addValueToOptions } from '../../utils/common'; import { Field } from '../shared/Field'; diff --git a/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/MetricNamespaceField.test.tsx b/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/MetricNamespaceField.test.tsx index dc1aab8b0bf..4187cfb6a88 100644 --- a/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/MetricNamespaceField.test.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/MetricNamespaceField.test.tsx @@ -2,7 +2,7 @@ import { render, screen } from '@testing-library/react'; import createMockDatasource from '../../mocks/datasource'; import createMockQuery from '../../mocks/query'; -import { AzureMonitorOption } from '../../types'; +import { AzureMonitorOption } from '../../types/types'; import MetricNamespaceField from './MetricNamespaceField'; diff --git a/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/MetricNamespaceField.tsx b/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/MetricNamespaceField.tsx index e916cf064a1..53e436c1028 100644 --- a/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/MetricNamespaceField.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/MetricNamespaceField.tsx @@ -4,7 +4,7 @@ import { SelectableValue } from '@grafana/data'; import { t } from '@grafana/i18n'; import { Select } from '@grafana/ui'; -import { AzureQueryEditorFieldProps, AzureMonitorOption } from '../../types'; +import { AzureQueryEditorFieldProps, AzureMonitorOption } from '../../types/types'; import { addValueToOptions } from '../../utils/common'; import { Field } from '../shared/Field'; diff --git a/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/MetricsQueryEditor.tsx b/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/MetricsQueryEditor.tsx index 6048ebca21e..04b046d31e4 100644 --- a/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/MetricsQueryEditor.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/MetricsQueryEditor.tsx @@ -1,10 +1,11 @@ import { PanelData } from '@grafana/data'; import { EditorRows, EditorRow, EditorFieldGroup } from '@grafana/plugin-ui'; -import { multiResourceCompatibleTypes } from '../../azureMetadata'; +import { multiResourceCompatibleTypes } from '../../azureMetadata/resourceTypes'; import type Datasource from '../../datasource'; import { selectors } from '../../e2e/selectors'; -import type { AzureMonitorQuery, AzureMonitorOption, AzureMonitorErrorish, AzureMonitorResource } from '../../types'; +import { AzureMonitorQuery, AzureMonitorResource } from '../../types/query'; +import { AzureMonitorOption, AzureMonitorErrorish } from '../../types/types'; import ResourceField from '../ResourceField'; import { ResourceRow, ResourceRowGroup, ResourceRowType } from '../ResourcePicker/types'; import { parseResourceDetails } from '../ResourcePicker/utils'; diff --git a/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/TimeGrainField.test.tsx b/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/TimeGrainField.test.tsx index 8722f5eee2c..bf427ff37aa 100644 --- a/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/TimeGrainField.test.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/TimeGrainField.test.tsx @@ -2,7 +2,7 @@ import { render, screen } from '@testing-library/react'; import createMockDatasource from '../../mocks/datasource'; import createMockQuery from '../../mocks/query'; -import { AzureMonitorOption } from '../../types'; +import { AzureMonitorOption } from '../../types/types'; import TimeGrainField from './TimeGrainField'; diff --git a/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/TimeGrainField.tsx b/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/TimeGrainField.tsx index 22b9350b24c..dda333837e6 100644 --- a/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/TimeGrainField.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/TimeGrainField.tsx @@ -5,7 +5,7 @@ import { t } from '@grafana/i18n'; import { Select } from '@grafana/ui'; import TimegrainConverter from '../../time_grain_converter'; -import { AzureQueryEditorFieldProps, AzureMonitorOption } from '../../types'; +import { AzureQueryEditorFieldProps, AzureMonitorOption } from '../../types/types'; import { addValueToOptions } from '../../utils/common'; import { Field } from '../shared/Field'; diff --git a/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/TopField.tsx b/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/TopField.tsx index 201c378a88e..3037e17868d 100644 --- a/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/TopField.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/TopField.tsx @@ -4,7 +4,7 @@ import * as React from 'react'; import { t } from '@grafana/i18n'; import { Input } from '@grafana/ui'; -import { AzureQueryEditorFieldProps } from '../../types'; +import { AzureQueryEditorFieldProps } from '../../types/types'; import { Field } from '../shared/Field'; import { setTop } from './setQueryValue'; diff --git a/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/dataHooks.test.ts b/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/dataHooks.test.ts index acf197d2e2c..47a6edf0a19 100644 --- a/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/dataHooks.test.ts +++ b/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/dataHooks.test.ts @@ -2,7 +2,8 @@ import { renderHook, waitFor } from '@testing-library/react'; import Datasource from '../../datasource'; import createMockDatasource from '../../mocks/datasource'; -import { AzureMetricQuery, AzureMonitorOption, AzureMonitorQuery, AzureQueryType } from '../../types'; +import { AzureMetricQuery, AzureMonitorQuery, AzureQueryType } from '../../types/query'; +import { AzureMonitorOption } from '../../types/types'; import { useMetricNames, diff --git a/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/dataHooks.ts b/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/dataHooks.ts index f6ec8f2b8f1..82115c289c4 100644 --- a/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/dataHooks.ts +++ b/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/dataHooks.ts @@ -4,7 +4,8 @@ import { rangeUtil } from '@grafana/data'; import Datasource from '../../datasource'; import TimegrainConverter from '../../time_grain_converter'; -import { AzureMonitorErrorish, AzureMonitorOption, AzureMonitorQuery, AzureMonitorResource } from '../../types'; +import { AzureMonitorQuery, AzureMonitorResource } from '../../types/query'; +import { AzureMonitorErrorish, AzureMonitorOption } from '../../types/types'; import { toOption } from '../../utils/common'; import { useAsyncState } from '../../utils/useAsyncState'; diff --git a/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/setQueryValue.ts b/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/setQueryValue.ts index 6e1416913ce..05b17493ca3 100644 --- a/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/setQueryValue.ts +++ b/public/app/plugins/datasource/azuremonitor/components/MetricsQueryEditor/setQueryValue.ts @@ -1,4 +1,4 @@ -import { AzureMetricDimension, AzureMonitorQuery } from '../../types'; +import { AzureMetricDimension, AzureMonitorQuery } from '../../types/query'; export function setCustomNamespace(query: AzureMonitorQuery, selection: string | undefined): AzureMonitorQuery { if (query.azureMonitor?.customNamespace === selection) { diff --git a/public/app/plugins/datasource/azuremonitor/components/QueryEditor/QueryEditor.test.tsx b/public/app/plugins/datasource/azuremonitor/components/QueryEditor/QueryEditor.test.tsx index 5a944e472c3..367c406b0cb 100644 --- a/public/app/plugins/datasource/azuremonitor/components/QueryEditor/QueryEditor.test.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/QueryEditor/QueryEditor.test.tsx @@ -8,7 +8,7 @@ import { selectors } from '../../e2e/selectors'; import createMockDatasource from '../../mocks/datasource'; import { invalidNamespaceError } from '../../mocks/errors'; import createMockQuery from '../../mocks/query'; -import { AzureQueryType, ResultFormat } from '../../types'; +import { AzureQueryType, ResultFormat } from '../../types/query'; import { selectOptionInTest } from '../../utils/testUtils'; import { createMockResourcePickerData } from '../LogsQueryEditor/mocks'; diff --git a/public/app/plugins/datasource/azuremonitor/components/QueryEditor/QueryEditor.tsx b/public/app/plugins/datasource/azuremonitor/components/QueryEditor/QueryEditor.tsx index dbf026c7c3e..54c1bf3dea8 100644 --- a/public/app/plugins/datasource/azuremonitor/components/QueryEditor/QueryEditor.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/QueryEditor/QueryEditor.tsx @@ -9,13 +9,8 @@ import { Alert, CodeEditor, Space, TextLink } from '@grafana/ui'; import AzureMonitorDatasource from '../../datasource'; import { selectors } from '../../e2e/selectors'; -import { - AzureMonitorDataSourceJsonData, - AzureMonitorErrorish, - AzureMonitorOption, - AzureMonitorQuery, - AzureQueryType, -} from '../../types'; +import { AzureMonitorQuery, AzureQueryType } from '../../types/query'; +import { AzureMonitorDataSourceJsonData, AzureMonitorErrorish, AzureMonitorOption } from '../../types/types'; import useLastError from '../../utils/useLastError'; import ArgQueryEditor from '../ArgQueryEditor'; import LogsQueryEditor from '../LogsQueryEditor'; diff --git a/public/app/plugins/datasource/azuremonitor/components/QueryEditor/QueryHeader.tsx b/public/app/plugins/datasource/azuremonitor/components/QueryEditor/QueryHeader.tsx index 3a91a5d9998..9e871cb419c 100644 --- a/public/app/plugins/datasource/azuremonitor/components/QueryEditor/QueryHeader.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/QueryEditor/QueryHeader.tsx @@ -8,7 +8,7 @@ import { Button, ConfirmModal, RadioButtonGroup } from '@grafana/ui'; import { LogsEditorMode } from '../../dataquery.gen'; import { selectors } from '../../e2e/selectors'; -import { AzureMonitorQuery, AzureQueryType } from '../../types'; +import { AzureMonitorQuery, AzureQueryType } from '../../types/query'; interface QueryTypeFieldProps { query: AzureMonitorQuery; diff --git a/public/app/plugins/datasource/azuremonitor/components/QueryEditor/usePreparedQuery.ts b/public/app/plugins/datasource/azuremonitor/components/QueryEditor/usePreparedQuery.ts index 8b12487cd39..c2da635fcd0 100644 --- a/public/app/plugins/datasource/azuremonitor/components/QueryEditor/usePreparedQuery.ts +++ b/public/app/plugins/datasource/azuremonitor/components/QueryEditor/usePreparedQuery.ts @@ -2,7 +2,7 @@ import deepEqual from 'fast-deep-equal'; import { defaults } from 'lodash'; import { useEffect, useMemo } from 'react'; -import { AzureMonitorQuery, AzureQueryType, ResultFormat } from '../../types'; +import { AzureMonitorQuery, AzureQueryType, ResultFormat } from '../../types/query'; import migrateQuery from '../../utils/migrateQuery'; const DEFAULT_QUERY = { diff --git a/public/app/plugins/datasource/azuremonitor/components/ResourceField/ResourceField.tsx b/public/app/plugins/datasource/azuremonitor/components/ResourceField/ResourceField.tsx index 723603e968c..ddf88888f07 100644 --- a/public/app/plugins/datasource/azuremonitor/components/ResourceField/ResourceField.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/ResourceField/ResourceField.tsx @@ -8,7 +8,8 @@ import { Button, Icon, Modal, useStyles2, IconName } from '@grafana/ui'; import Datasource from '../../datasource'; import { selectors } from '../../e2e/selectors'; import { ResourcePickerQueryType } from '../../resourcePicker/resourcePickerData'; -import { AzureQueryEditorFieldProps, AzureMonitorResource } from '../../types'; +import { AzureMonitorResource } from '../../types/query'; +import { AzureQueryEditorFieldProps } from '../../types/types'; import ResourcePicker from '../ResourcePicker'; import getStyles from '../ResourcePicker/styles'; import { ResourceRow, ResourceRowGroup, ResourceRowType } from '../ResourcePicker/types'; diff --git a/public/app/plugins/datasource/azuremonitor/components/ResourcePicker/AdvancedMulti.tsx b/public/app/plugins/datasource/azuremonitor/components/ResourcePicker/AdvancedMulti.tsx index dffe37fb6ba..d16cfff82e9 100644 --- a/public/app/plugins/datasource/azuremonitor/components/ResourcePicker/AdvancedMulti.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/ResourcePicker/AdvancedMulti.tsx @@ -5,7 +5,7 @@ import { t } from '@grafana/i18n'; import { Collapse, Space } from '@grafana/ui'; import { selectors } from '../../e2e/selectors'; -import { AzureMonitorResource } from '../../types'; +import { AzureMonitorResource } from '../../types/query'; export interface ResourcePickerProps { resources: T[]; diff --git a/public/app/plugins/datasource/azuremonitor/components/ResourcePicker/ResourcePicker.tsx b/public/app/plugins/datasource/azuremonitor/components/ResourcePicker/ResourcePicker.tsx index 52053c3702d..0f47899d98d 100644 --- a/public/app/plugins/datasource/azuremonitor/components/ResourcePicker/ResourcePicker.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/ResourcePicker/ResourcePicker.tsx @@ -8,7 +8,7 @@ import { Alert, Button, LoadingPlaceholder, Modal, useStyles2, Space } from '@gr import { selectors } from '../../e2e/selectors'; import ResourcePickerData, { ResourcePickerQueryType } from '../../resourcePicker/resourcePickerData'; -import { AzureMonitorResource } from '../../types'; +import { AzureMonitorResource } from '../../types/query'; import messageFromError from '../../utils/messageFromError'; import AdvancedMulti from './AdvancedMulti'; diff --git a/public/app/plugins/datasource/azuremonitor/components/ResourcePicker/utils.ts b/public/app/plugins/datasource/azuremonitor/components/ResourcePicker/utils.ts index c226f80366a..bcc9c9d2d03 100644 --- a/public/app/plugins/datasource/azuremonitor/components/ResourcePicker/utils.ts +++ b/public/app/plugins/datasource/azuremonitor/components/ResourcePicker/utils.ts @@ -4,7 +4,7 @@ import { getTemplateSrv } from '@grafana/runtime'; import UrlBuilder from '../../azure_monitor/url_builder'; import { ResourcePickerQueryType } from '../../resourcePicker/resourcePickerData'; -import { AzureMonitorResource, AzureMonitorQuery } from '../../types'; +import { AzureMonitorQuery, AzureMonitorResource } from '../../types/query'; import { ResourceRow, ResourceRowGroup } from './types'; diff --git a/public/app/plugins/datasource/azuremonitor/components/TracesQueryEditor/Filter.tsx b/public/app/plugins/datasource/azuremonitor/components/TracesQueryEditor/Filter.tsx index c6b03769683..21f8dad755e 100644 --- a/public/app/plugins/datasource/azuremonitor/components/TracesQueryEditor/Filter.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/TracesQueryEditor/Filter.tsx @@ -11,7 +11,7 @@ import { Select, ButtonSelect, AsyncMultiSelect, getSelectStyles, useTheme2, Che import { AzureMonitorQuery, AzureQueryType, AzureTracesFilter } from '../../dataquery.gen'; import Datasource from '../../datasource'; -import { VariableOptionGroup } from '../../types'; +import { VariableOptionGroup } from '../../types/types'; import { addValueToOptions } from '../../utils/common'; export interface FilterProps { diff --git a/public/app/plugins/datasource/azuremonitor/components/TracesQueryEditor/Filters.test.tsx b/public/app/plugins/datasource/azuremonitor/components/TracesQueryEditor/Filters.test.tsx index 9eef48a3a4d..61c571f6ca1 100644 --- a/public/app/plugins/datasource/azuremonitor/components/TracesQueryEditor/Filters.test.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/TracesQueryEditor/Filters.test.tsx @@ -9,7 +9,7 @@ import { AzureQueryType } from '../../dataquery.gen'; import Datasource from '../../datasource'; import createMockDatasource from '../../mocks/datasource'; import createMockQuery from '../../mocks/query'; -import { AzureMonitorQuery } from '../../types'; +import { AzureMonitorQuery } from '../../types/query'; import { selectOptionInTest } from '../../utils/testUtils'; import Filters from './Filters'; diff --git a/public/app/plugins/datasource/azuremonitor/components/TracesQueryEditor/Filters.tsx b/public/app/plugins/datasource/azuremonitor/components/TracesQueryEditor/Filters.tsx index 96d443343ac..785c9fd4e12 100644 --- a/public/app/plugins/datasource/azuremonitor/components/TracesQueryEditor/Filters.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/TracesQueryEditor/Filters.tsx @@ -6,7 +6,8 @@ import { t } from '@grafana/i18n'; import { EditorList } from '@grafana/plugin-ui'; import { Field } from '@grafana/ui'; -import { AzureQueryEditorFieldProps, AzureTracesFilter } from '../../types'; +import { AzureTracesFilter } from '../../types/query'; +import { AzureQueryEditorFieldProps } from '../../types/types'; import { makeRenderItem } from './Filter'; import { tablesSchema } from './consts'; diff --git a/public/app/plugins/datasource/azuremonitor/components/TracesQueryEditor/TraceTypeField.tsx b/public/app/plugins/datasource/azuremonitor/components/TracesQueryEditor/TraceTypeField.tsx index b1067b3170e..a9ecc848a0b 100644 --- a/public/app/plugins/datasource/azuremonitor/components/TracesQueryEditor/TraceTypeField.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/TracesQueryEditor/TraceTypeField.tsx @@ -5,7 +5,7 @@ import { t } from '@grafana/i18n'; import { MultiSelect } from '@grafana/ui'; import { selectors } from '../../e2e/selectors'; -import { AzureQueryEditorFieldProps, AzureMonitorOption } from '../../types'; +import { AzureMonitorOption, AzureQueryEditorFieldProps } from '../../types/types'; import { findOptions } from '../../utils/common'; import { Field } from '../shared/Field'; diff --git a/public/app/plugins/datasource/azuremonitor/components/TracesQueryEditor/TracesQueryEditor.tsx b/public/app/plugins/datasource/azuremonitor/components/TracesQueryEditor/TracesQueryEditor.tsx index 686f8b9475c..405674a1665 100644 --- a/public/app/plugins/datasource/azuremonitor/components/TracesQueryEditor/TracesQueryEditor.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/TracesQueryEditor/TracesQueryEditor.tsx @@ -9,7 +9,8 @@ import { Input } from '@grafana/ui'; import Datasource from '../../datasource'; import { selectors } from '../../e2e/selectors'; -import { AzureMonitorErrorish, AzureMonitorOption, AzureMonitorQuery, AzureQueryType, ResultFormat } from '../../types'; +import { AzureMonitorQuery, AzureQueryType, ResultFormat } from '../../types/query'; +import { AzureMonitorErrorish, AzureMonitorOption } from '../../types/types'; import AdvancedResourcePicker from '../LogsQueryEditor/AdvancedResourcePicker'; import ResourceField from '../ResourceField'; import { ResourceRow, ResourceRowGroup, ResourceRowType } from '../ResourcePicker/types'; diff --git a/public/app/plugins/datasource/azuremonitor/components/TracesQueryEditor/setQueryValue.ts b/public/app/plugins/datasource/azuremonitor/components/TracesQueryEditor/setQueryValue.ts index ca71c5dd010..b901c7b800d 100644 --- a/public/app/plugins/datasource/azuremonitor/components/TracesQueryEditor/setQueryValue.ts +++ b/public/app/plugins/datasource/azuremonitor/components/TracesQueryEditor/setQueryValue.ts @@ -1,6 +1,6 @@ import { SelectableValue } from '@grafana/data'; -import { AzureMonitorQuery, AzureQueryType, AzureTracesFilter, ResultFormat } from '../../types'; +import { AzureMonitorQuery, AzureQueryType, AzureTracesFilter, ResultFormat } from '../../types/query'; // Used when switching from a traces exemplar query to a standard Azure Traces query export function setDefaultTracesQuery(query: AzureMonitorQuery): AzureMonitorQuery { diff --git a/public/app/plugins/datasource/azuremonitor/components/VariableEditor/GrafanaTemplateVariableFn.tsx b/public/app/plugins/datasource/azuremonitor/components/VariableEditor/GrafanaTemplateVariableFn.tsx index b84c05f8641..1727cac59a7 100644 --- a/public/app/plugins/datasource/azuremonitor/components/VariableEditor/GrafanaTemplateVariableFn.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/VariableEditor/GrafanaTemplateVariableFn.tsx @@ -5,7 +5,7 @@ import { InlineField, Input } from '@grafana/ui'; import DataSource from '../../datasource'; import { migrateStringQueriesToObjectQueries } from '../../grafanaTemplateVariableFns'; -import { AzureMonitorQuery, AzureQueryType } from '../../types'; +import { AzureMonitorQuery, AzureQueryType } from '../../types/query'; const GrafanaTemplateVariableFnInput = ({ query, diff --git a/public/app/plugins/datasource/azuremonitor/components/VariableEditor/VariableEditor.test.tsx b/public/app/plugins/datasource/azuremonitor/components/VariableEditor/VariableEditor.test.tsx index 9f6c8ac8e75..f14bb609a37 100644 --- a/public/app/plugins/datasource/azuremonitor/components/VariableEditor/VariableEditor.test.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/VariableEditor/VariableEditor.test.tsx @@ -6,7 +6,7 @@ import { select, openMenu } from 'react-select-event'; import * as ui from '@grafana/ui'; import createMockDatasource from '../../mocks/datasource'; -import { AzureMonitorQuery, AzureQueryType } from '../../types'; +import { AzureMonitorQuery, AzureQueryType } from '../../types/query'; import VariableEditor from './VariableEditor'; diff --git a/public/app/plugins/datasource/azuremonitor/components/VariableEditor/VariableEditor.tsx b/public/app/plugins/datasource/azuremonitor/components/VariableEditor/VariableEditor.tsx index 850b87ee06f..ce722187c7d 100644 --- a/public/app/plugins/datasource/azuremonitor/components/VariableEditor/VariableEditor.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/VariableEditor/VariableEditor.tsx @@ -11,7 +11,8 @@ import UrlBuilder from '../../azure_monitor/url_builder'; import DataSource from '../../datasource'; import { selectors } from '../../e2e/selectors'; import { migrateQuery } from '../../grafanaTemplateVariableFns'; -import { AzureMonitorOption, AzureMonitorQuery, AzureQueryType } from '../../types'; +import { AzureMonitorQuery, AzureQueryType } from '../../types/query'; +import { AzureMonitorOption } from '../../types/types'; import useLastError from '../../utils/useLastError'; import ArgQueryEditor from '../ArgQueryEditor'; import LogsQueryEditor from '../LogsQueryEditor'; diff --git a/public/app/plugins/datasource/azuremonitor/components/shared/FormatAsField.test.tsx b/public/app/plugins/datasource/azuremonitor/components/shared/FormatAsField.test.tsx index fe06dc7cee1..ed02f1b9ce3 100644 --- a/public/app/plugins/datasource/azuremonitor/components/shared/FormatAsField.test.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/shared/FormatAsField.test.tsx @@ -4,7 +4,7 @@ import { SelectableValue } from '@grafana/data'; import createMockDatasource from '../../mocks/datasource'; import createMockQuery from '../../mocks/query'; -import { AzureMonitorQuery, ResultFormat } from '../../types'; +import { AzureMonitorQuery, ResultFormat } from '../../types/query'; import FormatAsField from './FormatAsField'; diff --git a/public/app/plugins/datasource/azuremonitor/components/shared/FormatAsField.tsx b/public/app/plugins/datasource/azuremonitor/components/shared/FormatAsField.tsx index 34318ec1e74..240db475305 100644 --- a/public/app/plugins/datasource/azuremonitor/components/shared/FormatAsField.tsx +++ b/public/app/plugins/datasource/azuremonitor/components/shared/FormatAsField.tsx @@ -6,7 +6,8 @@ import { t } from '@grafana/i18n'; import { Select } from '@grafana/ui'; import { selectors } from '../../e2e/selectors'; -import { FormatAsFieldProps, ResultFormat } from '../../types'; +import { ResultFormat } from '../../types/query'; +import { FormatAsFieldProps } from '../../types/types'; import { Field } from './Field'; diff --git a/public/app/plugins/datasource/azuremonitor/credentials.ts b/public/app/plugins/datasource/azuremonitor/credentials.ts index 44aeb3af365..7557ca5c2b4 100644 --- a/public/app/plugins/datasource/azuremonitor/credentials.ts +++ b/public/app/plugins/datasource/azuremonitor/credentials.ts @@ -8,7 +8,7 @@ import { } from '@grafana/azure-sdk'; import { config } from '@grafana/runtime'; -import { AzureMonitorDataSourceInstanceSettings, AzureMonitorDataSourceSettings } from './types'; +import { AzureMonitorDataSourceInstanceSettings, AzureMonitorDataSourceSettings } from './types/types'; export function getCredentials( options: AzureMonitorDataSourceSettings | AzureMonitorDataSourceInstanceSettings diff --git a/public/app/plugins/datasource/azuremonitor/datasource.test.ts b/public/app/plugins/datasource/azuremonitor/datasource.test.ts index 709e7c836d8..be090fa6254 100644 --- a/public/app/plugins/datasource/azuremonitor/datasource.test.ts +++ b/public/app/plugins/datasource/azuremonitor/datasource.test.ts @@ -2,7 +2,7 @@ import Datasource from './datasource'; import { createMockInstanceSetttings } from './mocks/instanceSettings'; import createMockQuery from './mocks/query'; import { singleVariable } from './mocks/variables'; -import { AzureQueryType } from './types'; +import { AzureQueryType } from './types/query'; jest.mock('@grafana/runtime', () => { return { diff --git a/public/app/plugins/datasource/azuremonitor/datasource.ts b/public/app/plugins/datasource/azuremonitor/datasource.ts index 917426a0169..db8acd9a103 100644 --- a/public/app/plugins/datasource/azuremonitor/datasource.ts +++ b/public/app/plugins/datasource/azuremonitor/datasource.ts @@ -18,7 +18,8 @@ import AzureLogAnalyticsDatasource from './azure_log_analytics/azure_log_analyti import AzureMonitorDatasource from './azure_monitor/azure_monitor_datasource'; import AzureResourceGraphDatasource from './azure_resource_graph/azure_resource_graph_datasource'; import ResourcePickerData from './resourcePicker/resourcePickerData'; -import { AzureMonitorDataSourceJsonData, AzureMonitorQuery, AzureQueryType } from './types'; +import { AzureMonitorQuery, AzureQueryType } from './types/query'; +import { AzureMonitorDataSourceJsonData } from './types/types'; import migrateAnnotation from './utils/migrateAnnotation'; import migrateQuery from './utils/migrateQuery'; import { VariableSupport } from './variables'; diff --git a/public/app/plugins/datasource/azuremonitor/grafanaTemplateVariableFns.ts b/public/app/plugins/datasource/azuremonitor/grafanaTemplateVariableFns.ts index b4859079099..3e3945da4f2 100644 --- a/public/app/plugins/datasource/azuremonitor/grafanaTemplateVariableFns.ts +++ b/public/app/plugins/datasource/azuremonitor/grafanaTemplateVariableFns.ts @@ -1,6 +1,6 @@ import { isGUIDish } from './components/ResourcePicker/utils'; import DataSource from './datasource'; -import { AzureMonitorQuery, AzureQueryType } from './types'; +import { AzureMonitorQuery, AzureQueryType } from './types/query'; import { AppInsightsGroupByQuery, AppInsightsMetricNameQuery, diff --git a/public/app/plugins/datasource/azuremonitor/grafanaTemplateVariables.test.ts b/public/app/plugins/datasource/azuremonitor/grafanaTemplateVariables.test.ts index 68743a6942e..d5db96929e2 100644 --- a/public/app/plugins/datasource/azuremonitor/grafanaTemplateVariables.test.ts +++ b/public/app/plugins/datasource/azuremonitor/grafanaTemplateVariables.test.ts @@ -1,6 +1,6 @@ import { migrateQuery, migrateStringQueriesToObjectQueries } from './grafanaTemplateVariableFns'; import createMockDatasource from './mocks/datasource'; -import { AzureMonitorQuery, AzureQueryType } from './types'; +import { AzureMonitorQuery, AzureQueryType } from './types/query'; describe('migrateStringQueriesToObjectQueries', () => { const expectedMigrations: Array<{ input: string; output: AzureMonitorQuery }> = [ diff --git a/public/app/plugins/datasource/azuremonitor/mocks/argResourcePickerResponse.ts b/public/app/plugins/datasource/azuremonitor/mocks/argResourcePickerResponse.ts index da06ff8236d..875736cfb69 100644 --- a/public/app/plugins/datasource/azuremonitor/mocks/argResourcePickerResponse.ts +++ b/public/app/plugins/datasource/azuremonitor/mocks/argResourcePickerResponse.ts @@ -3,7 +3,7 @@ import { RawAzureResourceGroupItem, RawAzureResourceItem, RawAzureSubscriptionItem, -} from '../types'; +} from '../types/types'; export const createMockARGSubscriptionResponse = (): AzureGraphResponse => ({ data: [ diff --git a/public/app/plugins/datasource/azuremonitor/mocks/datasource.ts b/public/app/plugins/datasource/azuremonitor/mocks/datasource.ts index 893e1123490..e8cdd539fcb 100644 --- a/public/app/plugins/datasource/azuremonitor/mocks/datasource.ts +++ b/public/app/plugins/datasource/azuremonitor/mocks/datasource.ts @@ -1,7 +1,7 @@ import { getTemplateSrv, TemplateSrv } from '@grafana/runtime'; import Datasource from '../datasource'; -import { AzureMonitorDataSourceInstanceSettings } from '../types'; +import { AzureMonitorDataSourceInstanceSettings } from '../types/types'; import { createMockInstanceSetttings } from './instanceSettings'; import { DeepPartial } from './utils'; diff --git a/public/app/plugins/datasource/azuremonitor/mocks/datasourceSettings.ts b/public/app/plugins/datasource/azuremonitor/mocks/datasourceSettings.ts index ec558625438..9b2b5a6daac 100644 --- a/public/app/plugins/datasource/azuremonitor/mocks/datasourceSettings.ts +++ b/public/app/plugins/datasource/azuremonitor/mocks/datasourceSettings.ts @@ -1,6 +1,6 @@ import { KeyValue } from '@grafana/data'; -import { AzureMonitorDataSourceSettings } from '../types'; +import { AzureMonitorDataSourceSettings } from '../types/types'; import { DeepPartial } from './utils'; diff --git a/public/app/plugins/datasource/azuremonitor/mocks/instanceSettings.ts b/public/app/plugins/datasource/azuremonitor/mocks/instanceSettings.ts index 9c984c870a9..fd0acf35979 100644 --- a/public/app/plugins/datasource/azuremonitor/mocks/instanceSettings.ts +++ b/public/app/plugins/datasource/azuremonitor/mocks/instanceSettings.ts @@ -1,6 +1,6 @@ import { DataSourceInstanceSettings, PluginType } from '@grafana/data'; -import { AzureMonitorDataSourceInstanceSettings } from '../types'; +import { AzureMonitorDataSourceInstanceSettings } from '../types/types'; import { DeepPartial, mapPartialArrayObject } from './utils'; diff --git a/public/app/plugins/datasource/azuremonitor/mocks/query.ts b/public/app/plugins/datasource/azuremonitor/mocks/query.ts index fab83f3fdcd..6fbfb66b365 100644 --- a/public/app/plugins/datasource/azuremonitor/mocks/query.ts +++ b/public/app/plugins/datasource/azuremonitor/mocks/query.ts @@ -1,4 +1,4 @@ -import { AzureMonitorQuery, AzureQueryType, ResultFormat } from '../types'; +import { AzureMonitorQuery, AzureQueryType, ResultFormat } from '../types/query'; export default function createMockQuery(overrides?: Partial): AzureMonitorQuery { return { diff --git a/public/app/plugins/datasource/azuremonitor/module.test.ts b/public/app/plugins/datasource/azuremonitor/module.test.ts index 06a55850647..117ded762ce 100644 --- a/public/app/plugins/datasource/azuremonitor/module.test.ts +++ b/public/app/plugins/datasource/azuremonitor/module.test.ts @@ -2,7 +2,7 @@ import { DashboardLoadedEvent } from '@grafana/data'; import { reportInteraction } from '@grafana/runtime'; import './module'; -import { AzureMonitorQuery } from './types'; +import { AzureMonitorQuery } from './types/query'; jest.mock('@grafana/runtime', () => { return { diff --git a/public/app/plugins/datasource/azuremonitor/module.ts b/public/app/plugins/datasource/azuremonitor/module.ts index 654ac1ff5a4..bf96a78c1b3 100644 --- a/public/app/plugins/datasource/azuremonitor/module.ts +++ b/public/app/plugins/datasource/azuremonitor/module.ts @@ -7,7 +7,8 @@ import AzureMonitorQueryEditor from './components/QueryEditor'; import Datasource from './datasource'; import pluginJson from './plugin.json'; import { trackAzureMonitorDashboardLoaded } from './tracking'; -import { AzureMonitorQuery, AzureMonitorDataSourceJsonData, AzureQueryType, ResultFormat } from './types'; +import { AzureMonitorQuery, AzureQueryType, ResultFormat } from './types/query'; +import { AzureMonitorDataSourceJsonData } from './types/types'; initPluginTranslations(pluginJson.id); diff --git a/public/app/plugins/datasource/azuremonitor/resourcePicker/resourcePickerData.test.ts b/public/app/plugins/datasource/azuremonitor/resourcePicker/resourcePickerData.test.ts index 0243f717d52..9bdf757a5c3 100644 --- a/public/app/plugins/datasource/azuremonitor/resourcePicker/resourcePickerData.test.ts +++ b/public/app/plugins/datasource/azuremonitor/resourcePicker/resourcePickerData.test.ts @@ -1,4 +1,4 @@ -import { resourceTypes } from '../azureMetadata'; +import { resourceTypes } from '../azureMetadata/resourceTypes'; import AzureResourceGraphDatasource from '../azure_resource_graph/azure_resource_graph_datasource'; import { ResourceRowType } from '../components/ResourcePicker/types'; import { @@ -8,7 +8,7 @@ import { } from '../mocks/argResourcePickerResponse'; import createMockDatasource from '../mocks/datasource'; import { createMockInstanceSetttings } from '../mocks/instanceSettings'; -import { AzureGraphResponse } from '../types'; +import { AzureGraphResponse } from '../types/types'; import ResourcePickerData from './resourcePickerData'; diff --git a/public/app/plugins/datasource/azuremonitor/resourcePicker/resourcePickerData.ts b/public/app/plugins/datasource/azuremonitor/resourcePicker/resourcePickerData.ts index b3cd9e7a498..35bf3933f1b 100644 --- a/public/app/plugins/datasource/azuremonitor/resourcePicker/resourcePickerData.ts +++ b/public/app/plugins/datasource/azuremonitor/resourcePicker/resourcePickerData.ts @@ -1,6 +1,7 @@ import { DataSourceWithBackend, reportInteraction } from '@grafana/runtime'; -import { logsResourceTypes, resourceTypeDisplayNames, resourceTypes } from '../azureMetadata'; +import { logsResourceTypes } from '../azureMetadata/logsResourceTypes'; +import { resourceTypeDisplayNames, resourceTypes } from '../azureMetadata/resourceTypes'; import AzureMonitorDatasource from '../azure_monitor/azure_monitor_datasource'; import AzureResourceGraphDatasource from '../azure_resource_graph/azure_resource_graph_datasource'; import { ResourceRow, ResourceRowGroup, ResourceRowType } from '../components/ResourcePicker/types'; @@ -12,14 +13,13 @@ import { parseResourceURI, resourceToString, } from '../components/ResourcePicker/utils'; +import { AzureMonitorQuery, AzureMonitorResource } from '../types/query'; import { AzureMonitorDataSourceInstanceSettings, AzureMonitorDataSourceJsonData, - AzureMonitorResource, - AzureMonitorQuery, AzureResourceSummaryItem, RawAzureResourceItem, -} from '../types'; +} from '../types/types'; const logsSupportedResourceTypesKusto = logsResourceTypes.map((v) => `"${v}"`).join(','); diff --git a/public/app/plugins/datasource/azuremonitor/types/index.ts b/public/app/plugins/datasource/azuremonitor/types/index.ts deleted file mode 100644 index 06ced0cd13a..00000000000 --- a/public/app/plugins/datasource/azuremonitor/types/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from './logAnalyticsMetadata'; -export * from './query'; -export * from './types'; diff --git a/public/app/plugins/datasource/azuremonitor/utils/common.ts b/public/app/plugins/datasource/azuremonitor/utils/common.ts index 3d47b161f5c..00472a6cf94 100644 --- a/public/app/plugins/datasource/azuremonitor/utils/common.ts +++ b/public/app/plugins/datasource/azuremonitor/utils/common.ts @@ -3,7 +3,7 @@ import { map } from 'lodash'; import { ScopedVars, SelectableValue, VariableWithMultiSupport } from '@grafana/data'; import { TemplateSrv, VariableInterpolation } from '@grafana/runtime'; -import { AzureMonitorOption, VariableOptionGroup } from '../types'; +import { AzureMonitorOption, VariableOptionGroup } from '../types/types'; export const hasOption = (options: AzureMonitorOption[], value: string): boolean => options.some((v) => (v.options ? hasOption(v.options, value) : v.value === value)); diff --git a/public/app/plugins/datasource/azuremonitor/utils/messageFromError.ts b/public/app/plugins/datasource/azuremonitor/utils/messageFromError.ts index 2a7236df003..3fc3c36f735 100644 --- a/public/app/plugins/datasource/azuremonitor/utils/messageFromError.ts +++ b/public/app/plugins/datasource/azuremonitor/utils/messageFromError.ts @@ -1,6 +1,6 @@ import { isValidElement } from 'react'; -import { AzureMonitorErrorish } from '../types'; +import { AzureMonitorErrorish } from '../types/types'; export function messageFromElement(error: AzureMonitorErrorish): AzureMonitorErrorish | undefined { if (isValidElement(error)) { diff --git a/public/app/plugins/datasource/azuremonitor/utils/migrateAnnotation.test.ts b/public/app/plugins/datasource/azuremonitor/utils/migrateAnnotation.test.ts index bfd74252441..b1642f250e2 100644 --- a/public/app/plugins/datasource/azuremonitor/utils/migrateAnnotation.test.ts +++ b/public/app/plugins/datasource/azuremonitor/utils/migrateAnnotation.test.ts @@ -1,6 +1,6 @@ import { AnnotationQuery } from '@grafana/data'; -import { AzureMonitorQuery, AzureQueryType } from '../types'; +import { AzureMonitorQuery, AzureQueryType } from '../types/query'; import migrateAnnotation from './migrateAnnotation'; diff --git a/public/app/plugins/datasource/azuremonitor/utils/migrateAnnotation.ts b/public/app/plugins/datasource/azuremonitor/utils/migrateAnnotation.ts index 31247ec7a78..ce37019e15f 100644 --- a/public/app/plugins/datasource/azuremonitor/utils/migrateAnnotation.ts +++ b/public/app/plugins/datasource/azuremonitor/utils/migrateAnnotation.ts @@ -1,6 +1,6 @@ import { AnnotationQuery } from '@grafana/data'; -import { AzureMonitorQuery, AzureQueryType } from '../types'; +import { AzureMonitorQuery, AzureQueryType } from '../types/query'; // The old Angular annotations editor put some properties (rawQuery, workspace, subscription) // on the root annotation object, rather than down in the 'targets' query value diff --git a/public/app/plugins/datasource/azuremonitor/utils/migrateQuery.test.ts b/public/app/plugins/datasource/azuremonitor/utils/migrateQuery.test.ts index e46be675f8f..7e5e1769660 100644 --- a/public/app/plugins/datasource/azuremonitor/utils/migrateQuery.test.ts +++ b/public/app/plugins/datasource/azuremonitor/utils/migrateQuery.test.ts @@ -1,4 +1,4 @@ -import { AzureMetricDimension, AzureMonitorQuery, AzureQueryType, ResultFormat } from '../types'; +import { AzureMetricDimension, AzureMonitorQuery, AzureQueryType, ResultFormat } from '../types/query'; import migrateQuery from './migrateQuery'; diff --git a/public/app/plugins/datasource/azuremonitor/utils/migrateQuery.ts b/public/app/plugins/datasource/azuremonitor/utils/migrateQuery.ts index feb22d424e3..6ebf853d8fa 100644 --- a/public/app/plugins/datasource/azuremonitor/utils/migrateQuery.ts +++ b/public/app/plugins/datasource/azuremonitor/utils/migrateQuery.ts @@ -5,7 +5,7 @@ import { } from '../components/MetricsQueryEditor/setQueryValue'; import { parseResourceDetails } from '../components/ResourcePicker/utils'; import TimegrainConverter from '../time_grain_converter'; -import { AzureMetricDimension, AzureMonitorQuery, AzureQueryType } from '../types'; +import { AzureMetricDimension, AzureMonitorQuery, AzureQueryType } from '../types/query'; const OLD_DEFAULT_DROPDOWN_VALUE = 'select'; diff --git a/public/app/plugins/datasource/azuremonitor/utils/useLastError.ts b/public/app/plugins/datasource/azuremonitor/utils/useLastError.ts index 1c26117b2b2..00a6f289062 100644 --- a/public/app/plugins/datasource/azuremonitor/utils/useLastError.ts +++ b/public/app/plugins/datasource/azuremonitor/utils/useLastError.ts @@ -1,6 +1,6 @@ import { useState, useCallback, useMemo } from 'react'; -import { AzureMonitorErrorish } from '../types'; +import { AzureMonitorErrorish } from '../types/types'; import { messageFromElement } from './messageFromError'; diff --git a/public/app/plugins/datasource/azuremonitor/variables.test.ts b/public/app/plugins/datasource/azuremonitor/variables.test.ts index dcec7ff8005..55102e3fcfa 100644 --- a/public/app/plugins/datasource/azuremonitor/variables.test.ts +++ b/public/app/plugins/datasource/azuremonitor/variables.test.ts @@ -4,7 +4,7 @@ import { DataQueryRequest, toDataFrame } from '@grafana/data'; import createMockDatasource from './mocks/datasource'; import { invalidSubscriptionError } from './mocks/errors'; -import { AzureMonitorQuery, AzureQueryType } from './types'; +import { AzureMonitorQuery, AzureQueryType } from './types/query'; import { VariableSupport } from './variables'; jest.mock('@grafana/runtime', () => ({ diff --git a/public/app/plugins/datasource/azuremonitor/variables.ts b/public/app/plugins/datasource/azuremonitor/variables.ts index 2d6b3d73cb8..5477def0e2d 100644 --- a/public/app/plugins/datasource/azuremonitor/variables.ts +++ b/public/app/plugins/datasource/azuremonitor/variables.ts @@ -15,8 +15,9 @@ import { parseResourceURI } from './components/ResourcePicker/utils'; import VariableEditor from './components/VariableEditor/VariableEditor'; import DataSource from './datasource'; import { migrateQuery } from './grafanaTemplateVariableFns'; -import { AzureMonitorQuery, AzureQueryType, RawAzureResourceItem } from './types'; +import { AzureMonitorQuery, AzureQueryType } from './types/query'; import { GrafanaTemplateVariableQuery } from './types/templateVariables'; +import { RawAzureResourceItem } from './types/types'; import messageFromError from './utils/messageFromError'; export function parseResourceNamesAsTemplateVariable(resources: RawAzureResourceItem[], metricNamespace?: string) { diff --git a/public/app/plugins/datasource/cloud-monitoring/components/AnnotationQueryEditor.tsx b/public/app/plugins/datasource/cloud-monitoring/components/AnnotationQueryEditor.tsx index 6925e724d68..cb754445570 100644 --- a/public/app/plugins/datasource/cloud-monitoring/components/AnnotationQueryEditor.tsx +++ b/public/app/plugins/datasource/cloud-monitoring/components/AnnotationQueryEditor.tsx @@ -10,10 +10,9 @@ import CloudMonitoringDatasource from '../datasource'; import { TimeSeriesList, CloudMonitoringQuery, QueryType } from '../types/query'; import { CloudMonitoringOptions } from '../types/types'; +import { AnnotationsHelp } from './AnnotationsHelp'; import { MetricQueryEditor, defaultTimeSeriesList } from './MetricQueryEditor'; -import { AnnotationsHelp } from './'; - export type Props = QueryEditorProps; export const defaultQuery: (datasource: CloudMonitoringDatasource) => TimeSeriesList = (datasource) => ({ diff --git a/public/app/plugins/datasource/cloud-monitoring/components/GraphPeriod.tsx b/public/app/plugins/datasource/cloud-monitoring/components/GraphPeriod.tsx index 69801b0c976..a3c1d9372b6 100644 --- a/public/app/plugins/datasource/cloud-monitoring/components/GraphPeriod.tsx +++ b/public/app/plugins/datasource/cloud-monitoring/components/GraphPeriod.tsx @@ -4,7 +4,7 @@ import { Stack, Switch } from '@grafana/ui'; import { GRAPH_PERIODS } from '../constants'; -import { PeriodSelect } from './index'; +import { PeriodSelect } from './PeriodSelect'; export interface Props { refId: string; diff --git a/public/app/plugins/datasource/cloud-monitoring/components/QueryEditor.tsx b/public/app/plugins/datasource/cloud-monitoring/components/QueryEditor.tsx index 7b701df34da..d0578dea9d4 100644 --- a/public/app/plugins/datasource/cloud-monitoring/components/QueryEditor.tsx +++ b/public/app/plugins/datasource/cloud-monitoring/components/QueryEditor.tsx @@ -11,12 +11,10 @@ import { selectors } from '../e2e/selectors'; import { CloudMonitoringQuery, PromQLQuery, QueryType, SLOQuery } from '../types/query'; import { CloudMonitoringOptions } from '../types/types'; -import { defaultTimeSeriesList, defaultTimeSeriesQuery } from './MetricQueryEditor'; +import { defaultTimeSeriesList, defaultTimeSeriesQuery, MetricQueryEditor } from './MetricQueryEditor'; import { PromQLQueryEditor } from './PromQLEditor'; import { QueryHeader } from './QueryHeader'; -import { defaultQuery as defaultSLOQuery } from './SLOQueryEditor'; - -import { MetricQueryEditor, SLOQueryEditor } from './'; +import { defaultQuery as defaultSLOQuery, SLOQueryEditor } from './SLOQueryEditor'; export type Props = QueryEditorProps; diff --git a/public/app/plugins/datasource/cloud-monitoring/components/VariableQueryEditor.tsx b/public/app/plugins/datasource/cloud-monitoring/components/VariableQueryEditor.tsx index 0b7169ae2fd..6045e61b37d 100644 --- a/public/app/plugins/datasource/cloud-monitoring/components/VariableQueryEditor.tsx +++ b/public/app/plugins/datasource/cloud-monitoring/components/VariableQueryEditor.tsx @@ -13,7 +13,7 @@ import { VariableQueryData, } from '../types/types'; -import { VariableQueryField } from './'; +import { VariableQueryField } from './Fields'; export type Props = QueryEditorProps< CloudMonitoringDatasource, diff --git a/public/app/plugins/datasource/cloud-monitoring/components/index.ts b/public/app/plugins/datasource/cloud-monitoring/components/index.ts deleted file mode 100644 index 734d8c47c22..00000000000 --- a/public/app/plugins/datasource/cloud-monitoring/components/index.ts +++ /dev/null @@ -1,15 +0,0 @@ -export { Project } from './Project'; -export { GroupBy } from './GroupBy'; -export { Alignment } from './Alignment'; -export { LabelFilter } from './LabelFilter'; -export { AnnotationsHelp } from './AnnotationsHelp'; -export { AlignmentFunction } from './AlignmentFunction'; -export { AliasBy } from './AliasBy'; -export { Aggregation } from './Aggregation'; -export { MetricQueryEditor } from './MetricQueryEditor'; -export { SLOQueryEditor } from './SLOQueryEditor'; -export { MQLQueryEditor } from './MQLQueryEditor'; -export { VariableQueryField } from './Fields'; -export { VisualMetricQueryEditor } from './VisualMetricQueryEditor'; -export { PeriodSelect } from './PeriodSelect'; -export { Preprocessor } from './Preprocessor'; diff --git a/public/app/plugins/datasource/cloudwatch/language/cloudwatch-sql/completion/statementPosition.test.ts b/public/app/plugins/datasource/cloudwatch/language/cloudwatch-sql/completion/statementPosition.test.ts index 8cfcb4c7960..eb1afde02f7 100644 --- a/public/app/plugins/datasource/cloudwatch/language/cloudwatch-sql/completion/statementPosition.test.ts +++ b/public/app/plugins/datasource/cloudwatch/language/cloudwatch-sql/completion/statementPosition.test.ts @@ -1,11 +1,9 @@ import { monacoTypes } from '@grafana/ui'; -import { - multiLineFullQuery, - singleLineFullQuery, - singleLineEmptyQuery, - singleLineTwoQueries, -} from '../../../mocks/cloudwatch-sql-test-data'; +import { sqlTestDataMultiLineFullQuery } from '../../../mocks/cloudwatch-sql-test-data/multiLineFullQuery'; +import { sqlTestDataSingleLineEmptyQuery } from '../../../mocks/cloudwatch-sql-test-data/singleLineEmptyQuery'; +import { sqlTestDataSingleLineFullQuery } from '../../../mocks/cloudwatch-sql-test-data/singleLineFullQuery'; +import { sqlTestDataSingleLineTwoQueries } from '../../../mocks/cloudwatch-sql-test-data/singleLineTwoQueries'; import MonacoMock from '../../../mocks/monarch/Monaco'; import TextModel from '../../../mocks/monarch/TextModel'; import { linkedTokenBuilder } from '../../monarch/linkedTokenBuilder'; @@ -29,138 +27,138 @@ describe('statementPosition', () => { expect(statementPosition).toBe(expected); } test.each([ - [singleLineFullQuery.query, { lineNumber: 1, column: 0 }], - [multiLineFullQuery.query, { lineNumber: 1, column: 0 }], - [singleLineEmptyQuery.query, { lineNumber: 1, column: 0 }], - [singleLineTwoQueries.query, { lineNumber: 1, column: 154 }], + [sqlTestDataSingleLineFullQuery.query, { lineNumber: 1, column: 0 }], + [sqlTestDataMultiLineFullQuery.query, { lineNumber: 1, column: 0 }], + [sqlTestDataSingleLineEmptyQuery.query, { lineNumber: 1, column: 0 }], + [sqlTestDataSingleLineTwoQueries.query, { lineNumber: 1, column: 154 }], ])('should be before select keyword', (query: string, position: monacoTypes.IPosition) => { assertPosition(query, position, StatementPosition.SelectKeyword); }); test.each([ - [singleLineFullQuery.query, { lineNumber: 1, column: 7 }], - [multiLineFullQuery.query, { lineNumber: 1, column: 7 }], - [singleLineTwoQueries.query, { lineNumber: 1, column: 161 }], + [sqlTestDataSingleLineFullQuery.query, { lineNumber: 1, column: 7 }], + [sqlTestDataMultiLineFullQuery.query, { lineNumber: 1, column: 7 }], + [sqlTestDataSingleLineTwoQueries.query, { lineNumber: 1, column: 161 }], ])('should be after select keyword', (query: string, position: monacoTypes.IPosition) => { assertPosition(query, position, StatementPosition.AfterSelectKeyword); }); test.each([ - [singleLineFullQuery.query, { lineNumber: 1, column: 12 }], - [multiLineFullQuery.query, { lineNumber: 1, column: 12 }], - [singleLineTwoQueries.query, { lineNumber: 1, column: 166 }], + [sqlTestDataSingleLineFullQuery.query, { lineNumber: 1, column: 12 }], + [sqlTestDataMultiLineFullQuery.query, { lineNumber: 1, column: 12 }], + [sqlTestDataSingleLineTwoQueries.query, { lineNumber: 1, column: 166 }], ])('should be first argument in select statistic function', (query: string, position: monacoTypes.IPosition) => { assertPosition(query, position, StatementPosition.AfterSelectFuncFirstArgument); }); test.each([ - [singleLineFullQuery.query, { lineNumber: 1, column: 27 }], - [multiLineFullQuery.query, { lineNumber: 2, column: 0 }], - [singleLineTwoQueries.query, { lineNumber: 1, column: 181 }], + [sqlTestDataSingleLineFullQuery.query, { lineNumber: 1, column: 27 }], + [sqlTestDataMultiLineFullQuery.query, { lineNumber: 2, column: 0 }], + [sqlTestDataSingleLineTwoQueries.query, { lineNumber: 1, column: 181 }], ])('should be before the FROM keyword', (query: string, position: monacoTypes.IPosition) => { assertPosition(query, position, StatementPosition.FromKeyword); }); test.each([ - [singleLineFullQuery.query, { lineNumber: 1, column: 32 }], - [multiLineFullQuery.query, { lineNumber: 2, column: 5 }], - [singleLineTwoQueries.query, { lineNumber: 1, column: 186 }], + [sqlTestDataSingleLineFullQuery.query, { lineNumber: 1, column: 32 }], + [sqlTestDataMultiLineFullQuery.query, { lineNumber: 2, column: 5 }], + [sqlTestDataSingleLineTwoQueries.query, { lineNumber: 1, column: 186 }], ])('should after the FROM keyword', (query: string, position: monacoTypes.IPosition) => { assertPosition(query, position, StatementPosition.AfterFromKeyword); }); test.each([ - [singleLineFullQuery.query, { lineNumber: 1, column: 40 }], - [multiLineFullQuery.query, { lineNumber: 2, column: 13 }], - [singleLineTwoQueries.query, { lineNumber: 1, column: 40 }], + [sqlTestDataSingleLineFullQuery.query, { lineNumber: 1, column: 40 }], + [sqlTestDataMultiLineFullQuery.query, { lineNumber: 2, column: 13 }], + [sqlTestDataSingleLineTwoQueries.query, { lineNumber: 1, column: 40 }], ])('should be namespace arg in the schema func', (query: string, position: monacoTypes.IPosition) => { assertPosition(query, position, StatementPosition.SchemaFuncFirstArgument); }); test.each([ - [singleLineFullQuery.query, { lineNumber: 1, column: 50 }], - [multiLineFullQuery.query, { lineNumber: 2, column: 23 }], - [singleLineTwoQueries.query, { lineNumber: 1, column: 50 }], + [sqlTestDataSingleLineFullQuery.query, { lineNumber: 1, column: 50 }], + [sqlTestDataMultiLineFullQuery.query, { lineNumber: 2, column: 23 }], + [sqlTestDataSingleLineTwoQueries.query, { lineNumber: 1, column: 50 }], ])('should be label key args within the schema func', (query: string, position: monacoTypes.IPosition) => { assertPosition(query, position, StatementPosition.SchemaFuncExtraArgument); }); test.each([ - [singleLineFullQuery.query, { lineNumber: 1, column: 63 }], - [multiLineFullQuery.query, { lineNumber: 3, column: 0 }], - [singleLineTwoQueries.query, { lineNumber: 1, column: 63 }], + [sqlTestDataSingleLineFullQuery.query, { lineNumber: 1, column: 63 }], + [sqlTestDataMultiLineFullQuery.query, { lineNumber: 3, column: 0 }], + [sqlTestDataSingleLineTwoQueries.query, { lineNumber: 1, column: 63 }], ])('should be after from schema/namespace', (query: string, position: monacoTypes.IPosition) => { assertPosition(query, position, StatementPosition.AfterFrom); }); test.each([ - [singleLineFullQuery.query, { lineNumber: 1, column: 69 }], - [multiLineFullQuery.query, { lineNumber: 4, column: 6 }], - [singleLineTwoQueries.query, { lineNumber: 1, column: 69 }], + [sqlTestDataSingleLineFullQuery.query, { lineNumber: 1, column: 69 }], + [sqlTestDataMultiLineFullQuery.query, { lineNumber: 4, column: 6 }], + [sqlTestDataSingleLineTwoQueries.query, { lineNumber: 1, column: 69 }], ])('should after where keyword and before label key', (query: string, position: monacoTypes.IPosition) => { assertPosition(query, position, StatementPosition.WhereKey); }); test.each([ - [singleLineFullQuery.query, { lineNumber: 1, column: 79 }], - [multiLineFullQuery.query, { lineNumber: 4, column: 17 }], - [singleLineTwoQueries.query, { lineNumber: 1, column: 79 }], + [sqlTestDataSingleLineFullQuery.query, { lineNumber: 1, column: 79 }], + [sqlTestDataMultiLineFullQuery.query, { lineNumber: 4, column: 17 }], + [sqlTestDataSingleLineTwoQueries.query, { lineNumber: 1, column: 79 }], ])('should be before the comparison operator in a where filter', (query: string, position: monacoTypes.IPosition) => { assertPosition(query, position, StatementPosition.WhereComparisonOperator); }); test.each([ - [singleLineFullQuery.query, { lineNumber: 1, column: 81 }], - [multiLineFullQuery.query, { lineNumber: 4, column: 19 }], - [singleLineTwoQueries.query, { lineNumber: 1, column: 81 }], + [sqlTestDataSingleLineFullQuery.query, { lineNumber: 1, column: 81 }], + [sqlTestDataMultiLineFullQuery.query, { lineNumber: 4, column: 19 }], + [sqlTestDataSingleLineTwoQueries.query, { lineNumber: 1, column: 81 }], ])('should be before or in the value in a where filter', (query: string, position: monacoTypes.IPosition) => { assertPosition(query, position, StatementPosition.WhereValue); }); test.each([ - [singleLineFullQuery.query, { lineNumber: 1, column: 105 }], - [multiLineFullQuery.query, { lineNumber: 5, column: 0 }], - [singleLineTwoQueries.query, { lineNumber: 1, column: 105 }], + [sqlTestDataSingleLineFullQuery.query, { lineNumber: 1, column: 105 }], + [sqlTestDataMultiLineFullQuery.query, { lineNumber: 5, column: 0 }], + [sqlTestDataSingleLineTwoQueries.query, { lineNumber: 1, column: 105 }], ])('should be after a where value', (query: string, position: monacoTypes.IPosition) => { assertPosition(query, position, StatementPosition.AfterWhereValue); }); test.each([ - [singleLineFullQuery.query, { lineNumber: 1, column: 115 }], - [multiLineFullQuery.query, { lineNumber: 5, column: 10 }], - [singleLineTwoQueries.query, { lineNumber: 1, column: 115 }], + [sqlTestDataSingleLineFullQuery.query, { lineNumber: 1, column: 115 }], + [sqlTestDataMultiLineFullQuery.query, { lineNumber: 5, column: 10 }], + [sqlTestDataSingleLineTwoQueries.query, { lineNumber: 1, column: 115 }], ])('should be after group by keywords', (query: string, position: monacoTypes.IPosition) => { assertPosition(query, position, StatementPosition.AfterGroupByKeywords); }); test.each([ - [singleLineFullQuery.query, { lineNumber: 1, column: 123 }], - [multiLineFullQuery.query, { lineNumber: 5, column: 22 }], - [singleLineTwoQueries.query, { lineNumber: 1, column: 123 }], + [sqlTestDataSingleLineFullQuery.query, { lineNumber: 1, column: 123 }], + [sqlTestDataMultiLineFullQuery.query, { lineNumber: 5, column: 22 }], + [sqlTestDataSingleLineTwoQueries.query, { lineNumber: 1, column: 123 }], ])('should be after group by labels', (query: string, position: monacoTypes.IPosition) => { assertPosition(query, position, StatementPosition.AfterGroupBy); }); test.each([ - [singleLineFullQuery.query, { lineNumber: 1, column: 132 }], - [multiLineFullQuery.query, { lineNumber: 5, column: 31 }], - [singleLineTwoQueries.query, { lineNumber: 1, column: 132 }], + [sqlTestDataSingleLineFullQuery.query, { lineNumber: 1, column: 132 }], + [sqlTestDataMultiLineFullQuery.query, { lineNumber: 5, column: 31 }], + [sqlTestDataSingleLineTwoQueries.query, { lineNumber: 1, column: 132 }], ])('should be after order by keywords', (query: string, position: monacoTypes.IPosition) => { assertPosition(query, position, StatementPosition.AfterOrderByKeywords); }); test.each([ - [singleLineFullQuery.query, { lineNumber: 1, column: 138 }], - [multiLineFullQuery.query, { lineNumber: 5, column: 37 }], - [singleLineTwoQueries.query, { lineNumber: 1, column: 138 }], + [sqlTestDataSingleLineFullQuery.query, { lineNumber: 1, column: 138 }], + [sqlTestDataMultiLineFullQuery.query, { lineNumber: 5, column: 37 }], + [sqlTestDataSingleLineTwoQueries.query, { lineNumber: 1, column: 138 }], ])('should be after order by function', (query: string, position: monacoTypes.IPosition) => { assertPosition(query, position, StatementPosition.AfterOrderByFunction); }); test.each([ - [singleLineFullQuery.query, { lineNumber: 1, column: 143 }], - [multiLineFullQuery.query, { lineNumber: 6, column: 0 }], - [singleLineTwoQueries.query, { lineNumber: 1, column: 145 }], + [sqlTestDataSingleLineFullQuery.query, { lineNumber: 1, column: 143 }], + [sqlTestDataMultiLineFullQuery.query, { lineNumber: 6, column: 0 }], + [sqlTestDataSingleLineTwoQueries.query, { lineNumber: 1, column: 145 }], ])('should be after order by direction', (query: string, position: monacoTypes.IPosition) => { assertPosition(query, position, StatementPosition.AfterOrderByDirection); }); diff --git a/public/app/plugins/datasource/cloudwatch/language/cloudwatch-sql/completion/tokenUtils.test.ts b/public/app/plugins/datasource/cloudwatch/language/cloudwatch-sql/completion/tokenUtils.test.ts index 54e44f44866..58368ebe281 100644 --- a/public/app/plugins/datasource/cloudwatch/language/cloudwatch-sql/completion/tokenUtils.test.ts +++ b/public/app/plugins/datasource/cloudwatch/language/cloudwatch-sql/completion/tokenUtils.test.ts @@ -1,11 +1,9 @@ import { monacoTypes } from '@grafana/ui'; -import { - multiLineFullQuery, - singleLineFullQuery, - singleLineTwoQueries, - multiLineIncompleteQueryWithoutNamespace, -} from '../../../mocks/cloudwatch-sql-test-data'; +import { sqlTestDataMultiLineFullQuery } from '../../../mocks/cloudwatch-sql-test-data/multiLineFullQuery'; +import { sqlTestDataMultiLineIncompleteQueryWithoutNamespace } from '../../../mocks/cloudwatch-sql-test-data/multiLineIncompleteQueryWithoutNamespace'; +import { sqlTestDataSingleLineFullQuery } from '../../../mocks/cloudwatch-sql-test-data/singleLineFullQuery'; +import { sqlTestDataSingleLineTwoQueries } from '../../../mocks/cloudwatch-sql-test-data/singleLineTwoQueries'; import MonacoMock from '../../../mocks/monarch/Monaco'; import TextModel from '../../../mocks/monarch/TextModel'; import { LinkedToken } from '../../monarch/LinkedToken'; @@ -34,10 +32,10 @@ const getToken = ( describe('tokenUtils', () => { test.each([ - [singleLineFullQuery.query, { lineNumber: 1, column: 50 }], - [multiLineFullQuery.query, { lineNumber: 5, column: 10 }], - [singleLineTwoQueries.query, { lineNumber: 1, column: 30 }], - [singleLineTwoQueries.query, { lineNumber: 1, column: 185 }], + [sqlTestDataSingleLineFullQuery.query, { lineNumber: 1, column: 50 }], + [sqlTestDataMultiLineFullQuery.query, { lineNumber: 5, column: 10 }], + [sqlTestDataSingleLineTwoQueries.query, { lineNumber: 1, column: 30 }], + [sqlTestDataSingleLineTwoQueries.query, { lineNumber: 1, column: 185 }], ])('getSelectToken should return the right token', (query: string, position: monacoTypes.IPosition) => { const token = getToken(query, position, getSelectToken); expect(token).not.toBeNull(); @@ -46,10 +44,10 @@ describe('tokenUtils', () => { }); test.each([ - [singleLineFullQuery.query, { lineNumber: 1, column: 50 }], - [multiLineFullQuery.query, { lineNumber: 5, column: 10 }], - [singleLineTwoQueries.query, { lineNumber: 1, column: 30 }], - [singleLineTwoQueries.query, { lineNumber: 1, column: 185 }], + [sqlTestDataSingleLineFullQuery.query, { lineNumber: 1, column: 50 }], + [sqlTestDataMultiLineFullQuery.query, { lineNumber: 5, column: 10 }], + [sqlTestDataSingleLineTwoQueries.query, { lineNumber: 1, column: 30 }], + [sqlTestDataSingleLineTwoQueries.query, { lineNumber: 1, column: 185 }], ])('getSelectToken should return the right token', (query: string, position: monacoTypes.IPosition) => { const token = getToken(query, position, getSelectStatisticToken); expect(token).not.toBeNull(); @@ -57,10 +55,10 @@ describe('tokenUtils', () => { }); test.each([ - [singleLineFullQuery.query, 'AVG', { lineNumber: 1, column: 50 }], - [multiLineFullQuery.query, 'AVG', { lineNumber: 5, column: 10 }], - [singleLineTwoQueries.query, 'AVG', { lineNumber: 1, column: 30 }], - [singleLineTwoQueries.query, 'SUM', { lineNumber: 1, column: 185 }], + [sqlTestDataSingleLineFullQuery.query, 'AVG', { lineNumber: 1, column: 50 }], + [sqlTestDataMultiLineFullQuery.query, 'AVG', { lineNumber: 5, column: 10 }], + [sqlTestDataSingleLineTwoQueries.query, 'AVG', { lineNumber: 1, column: 30 }], + [sqlTestDataSingleLineTwoQueries.query, 'SUM', { lineNumber: 1, column: 185 }], ])( 'getSelectStatisticToken should return the right token', (query: string, value: string, position: monacoTypes.IPosition) => { @@ -72,10 +70,10 @@ describe('tokenUtils', () => { ); test.each([ - [singleLineFullQuery.query, 'CPUUtilization', { lineNumber: 1, column: 50 }], - [multiLineFullQuery.query, 'CPUUtilization', { lineNumber: 5, column: 10 }], - [singleLineTwoQueries.query, 'CPUUtilization', { lineNumber: 1, column: 30 }], - [singleLineTwoQueries.query, 'CPUCreditUsage', { lineNumber: 1, column: 185 }], + [sqlTestDataSingleLineFullQuery.query, 'CPUUtilization', { lineNumber: 1, column: 50 }], + [sqlTestDataMultiLineFullQuery.query, 'CPUUtilization', { lineNumber: 5, column: 10 }], + [sqlTestDataSingleLineTwoQueries.query, 'CPUUtilization', { lineNumber: 1, column: 30 }], + [sqlTestDataSingleLineTwoQueries.query, 'CPUCreditUsage', { lineNumber: 1, column: 185 }], ])( 'getMetricNameToken should return the right token', (query: string, value: string, position: monacoTypes.IPosition) => { @@ -87,11 +85,11 @@ describe('tokenUtils', () => { ); test.each([ - [singleLineFullQuery.query, '"AWS/EC2"', SQLTokenTypes.Type, { lineNumber: 1, column: 50 }], - [multiLineFullQuery.query, '"AWS/ECS"', SQLTokenTypes.Type, { lineNumber: 5, column: 10 }], - [singleLineTwoQueries.query, '"AWS/EC2"', SQLTokenTypes.Type, { lineNumber: 1, column: 30 }], - [singleLineTwoQueries.query, '"AWS/ECS"', SQLTokenTypes.Type, { lineNumber: 1, column: 185 }], - [multiLineIncompleteQueryWithoutNamespace.query, undefined, undefined, { lineNumber: 2, column: 5 }], + [sqlTestDataSingleLineFullQuery.query, '"AWS/EC2"', SQLTokenTypes.Type, { lineNumber: 1, column: 50 }], + [sqlTestDataMultiLineFullQuery.query, '"AWS/ECS"', SQLTokenTypes.Type, { lineNumber: 5, column: 10 }], + [sqlTestDataSingleLineTwoQueries.query, '"AWS/EC2"', SQLTokenTypes.Type, { lineNumber: 1, column: 30 }], + [sqlTestDataSingleLineTwoQueries.query, '"AWS/ECS"', SQLTokenTypes.Type, { lineNumber: 1, column: 185 }], + [sqlTestDataMultiLineIncompleteQueryWithoutNamespace.query, undefined, undefined, { lineNumber: 2, column: 5 }], ])( 'getNamespaceToken should return the right token', (query: string, value: string | undefined, tokenType: string | undefined, position: monacoTypes.IPosition) => { diff --git a/public/app/plugins/datasource/cloudwatch/language/dynamic-labels/CompletionItemProvider.test.ts b/public/app/plugins/datasource/cloudwatch/language/dynamic-labels/CompletionItemProvider.test.ts index c91dad19e38..f488d20d5dc 100644 --- a/public/app/plugins/datasource/cloudwatch/language/dynamic-labels/CompletionItemProvider.test.ts +++ b/public/app/plugins/datasource/cloudwatch/language/dynamic-labels/CompletionItemProvider.test.ts @@ -1,7 +1,8 @@ import { CompletionItemPriority } from '@grafana/plugin-ui'; import { Monaco, monacoTypes } from '@grafana/ui'; -import { afterLabelValue, insideLabelValue } from '../../mocks/dynamic-label-test-data'; +import { dynamicLabelTestDataAfterLabelValue } from '../../mocks/dynamic-label-test-data/afterLabelValue'; +import { dynamicLabelTestDataInsideLabelValue } from '../../mocks/dynamic-label-test-data/insideLabelValue'; import MonacoMock from '../../mocks/monarch/Monaco'; import TextModel from '../../mocks/monarch/TextModel'; @@ -23,13 +24,13 @@ const getSuggestions = async (value: string, position: monacoTypes.IPosition) => describe('Dynamic labels: CompletionItemProvider', () => { describe('getSuggestions', () => { it('returns all dynamic labels in case current token is a whitespace', async () => { - const { query, position } = afterLabelValue; + const { query, position } = dynamicLabelTestDataAfterLabelValue; const suggestions = await getSuggestions(query, position); expect(suggestions.length).toEqual(DYNAMIC_LABEL_PATTERNS.length + 1); // + 1 for the dimension suggestions }); it('should return suggestion for dimension label that has high prio', async () => { - const { query, position } = afterLabelValue; + const { query, position } = dynamicLabelTestDataAfterLabelValue; const suggestions = await getSuggestions(query, position); expect(suggestions.length).toBeTruthy(); const highPrioSuggestsions = suggestions.filter((s) => s.sortText === CompletionItemPriority.High); @@ -38,7 +39,7 @@ describe('Dynamic labels: CompletionItemProvider', () => { }); it('doesnt return suggestions if cursor is inside a dynamic label', async () => { - const { query, position } = insideLabelValue; + const { query, position } = dynamicLabelTestDataInsideLabelValue; const suggestions = await getSuggestions(query, position); expect(suggestions.length).toBe(0); }); diff --git a/public/app/plugins/datasource/cloudwatch/language/logs/completion/CompletionItemProvider.test.ts b/public/app/plugins/datasource/cloudwatch/language/logs/completion/CompletionItemProvider.test.ts index 3a70d392749..54a0a2cb941 100644 --- a/public/app/plugins/datasource/cloudwatch/language/logs/completion/CompletionItemProvider.test.ts +++ b/public/app/plugins/datasource/cloudwatch/language/logs/completion/CompletionItemProvider.test.ts @@ -2,7 +2,10 @@ import { CustomVariableModel } from '@grafana/data'; import { Monaco, monacoTypes } from '@grafana/ui'; import { setupMockedTemplateService, logGroupNamesVariable } from '../../../mocks/CloudWatchDataSource'; -import { emptyQuery, filterQuery, newCommandQuery, sortQuery } from '../../../mocks/cloudwatch-logs-test-data'; +import { logsTestDataEmptyQuery } from '../../../mocks/cloudwatch-logs-test-data/empty'; +import { logsTestDataFilterQuery } from '../../../mocks/cloudwatch-logs-test-data/filterQuery'; +import { logsTestDataNewCommandQuery } from '../../../mocks/cloudwatch-logs-test-data/newCommandQuery'; +import { logsTestDataSortQuery } from '../../../mocks/cloudwatch-logs-test-data/sortQuery'; import MonacoMock from '../../../mocks/monarch/Monaco'; import TextModel from '../../../mocks/monarch/TextModel'; import { ResourcesAPI } from '../../../resources/ResourcesAPI'; @@ -45,39 +48,41 @@ const getSuggestions = async ( describe('LogsCompletionItemProvider', () => { describe('getSuggestions', () => { it('returns commands for an empty query', async () => { - const suggestions = await getSuggestions(emptyQuery.query, emptyQuery.position); + const suggestions = await getSuggestions(logsTestDataEmptyQuery.query, logsTestDataEmptyQuery.position); const suggestionLabels = suggestions.map((s) => s.label); expect(suggestionLabels).toEqual(expect.arrayContaining(LOGS_COMMANDS)); }); it('returns commands for a query when a new command is started', async () => { - const suggestions = await getSuggestions(newCommandQuery.query, newCommandQuery.position); + const suggestions = await getSuggestions(logsTestDataNewCommandQuery.query, logsTestDataNewCommandQuery.position); const suggestionLabels = suggestions.map((s) => s.label); expect(suggestionLabels).toEqual(expect.arrayContaining(LOGS_COMMANDS)); }); it('returns sort order directions for the sort keyword', async () => { - const suggestions = await getSuggestions(sortQuery.query, sortQuery.position); + const suggestions = await getSuggestions(logsTestDataSortQuery.query, logsTestDataSortQuery.position); const suggestionLabels = suggestions.map((s) => s.label); expect(suggestionLabels).toEqual(expect.arrayContaining(SORT_DIRECTION_KEYWORDS)); }); it('returns function suggestions after a command', async () => { - const suggestions = await getSuggestions(sortQuery.query, sortQuery.position); + const suggestions = await getSuggestions(logsTestDataSortQuery.query, logsTestDataSortQuery.position); const suggestionLabels = suggestions.map((s) => s.label); expect(suggestionLabels).toEqual(expect.arrayContaining(LOGS_FUNCTION_OPERATORS)); }); it('returns `in []` snippet for the `in` keyword', async () => { - const suggestions = await getSuggestions(filterQuery.query, filterQuery.position); + const suggestions = await getSuggestions(logsTestDataFilterQuery.query, logsTestDataFilterQuery.position); const suggestionLabels = suggestions.map((s) => s.label); expect(suggestionLabels).toEqual(expect.arrayContaining(['in []'])); }); it('returns template variables appended to list of suggestions', async () => { - const suggestions = await getSuggestions(newCommandQuery.query, newCommandQuery.position, [ - logGroupNamesVariable, - ]); + const suggestions = await getSuggestions( + logsTestDataNewCommandQuery.query, + logsTestDataNewCommandQuery.position, + [logGroupNamesVariable] + ); const suggestionLabels = suggestions.map((s) => s.label); const expectedTemplateVariableLabel = `$${logGroupNamesVariable.name}`; const expectedLabels = [...LOGS_COMMANDS, expectedTemplateVariableLabel]; @@ -86,8 +91,8 @@ describe('LogsCompletionItemProvider', () => { it('fetches fields when logGroups are set', async () => { const suggestions = await getSuggestions( - sortQuery.query, - sortQuery.position, + logsTestDataSortQuery.query, + logsTestDataSortQuery.position, [], [{ arn: 'foo', name: 'bar' }], [{ value: { name: '@field' } }] diff --git a/public/app/plugins/datasource/cloudwatch/language/logs/completion/statementPosition.test.ts b/public/app/plugins/datasource/cloudwatch/language/logs/completion/statementPosition.test.ts index 0eac4cecc43..2820712f031 100644 --- a/public/app/plugins/datasource/cloudwatch/language/logs/completion/statementPosition.test.ts +++ b/public/app/plugins/datasource/cloudwatch/language/logs/completion/statementPosition.test.ts @@ -1,12 +1,10 @@ import { monacoTypes } from '@grafana/ui'; -import { - emptyQuery, - whitespaceOnlyQuery, - commentOnlyQuery, - singleLineFullQuery, - multiLineFullQuery, -} from '../../../mocks/cloudwatch-logs-test-data'; +import { logsTestDataCommentOnlyQuery } from '../../../mocks/cloudwatch-logs-test-data/commentOnlyQuery'; +import { logsTestDataEmptyQuery } from '../../../mocks/cloudwatch-logs-test-data/empty'; +import { logsTestDataMultiLineFullQuery } from '../../../mocks/cloudwatch-logs-test-data/multiLineFullQuery'; +import { logsTestDataSingleLineFullQuery } from '../../../mocks/cloudwatch-logs-test-data/singleLineFullQuery'; +import { logsTestDataWhitespaceOnlyQuery } from '../../../mocks/cloudwatch-logs-test-data/whitespaceQuery'; import MonacoMock from '../../../mocks/monarch/Monaco'; import TextModel from '../../../mocks/monarch/TextModel'; import { linkedTokenBuilder } from '../../monarch/linkedTokenBuilder'; @@ -33,125 +31,125 @@ describe('getStatementPosition', () => { }); it('should return StatementPosition.NewCommand for an empty query', () => { - expect(getStatementPosition(generateToken(emptyQuery.query, { lineNumber: 1, column: 1 }))).toEqual( + expect(getStatementPosition(generateToken(logsTestDataEmptyQuery.query, { lineNumber: 1, column: 1 }))).toEqual( StatementPosition.NewCommand ); }); it('should return StatementPosition.NewCommand for a query that is only whitespace', () => { - expect(getStatementPosition(generateToken(whitespaceOnlyQuery.query, { lineNumber: 1, column: 1 }))).toEqual( - StatementPosition.NewCommand - ); + expect( + getStatementPosition(generateToken(logsTestDataWhitespaceOnlyQuery.query, { lineNumber: 1, column: 1 })) + ).toEqual(StatementPosition.NewCommand); }); it('should return StatementPosition.Comment for a query with only a comment', () => { - expect(getStatementPosition(generateToken(commentOnlyQuery.query, { lineNumber: 1, column: 1 }))).toEqual( - StatementPosition.Comment - ); + expect( + getStatementPosition(generateToken(logsTestDataCommentOnlyQuery.query, { lineNumber: 1, column: 1 })) + ).toEqual(StatementPosition.Comment); }); it('should return StatementPosition.NewCommand after a `|`', () => { - expect(getStatementPosition(generateToken(singleLineFullQuery.query, { lineNumber: 1, column: 30 }))).toEqual( - StatementPosition.NewCommand - ); - expect(getStatementPosition(generateToken(multiLineFullQuery.query, { lineNumber: 2, column: 2 }))).toEqual( - StatementPosition.NewCommand - ); + expect( + getStatementPosition(generateToken(logsTestDataSingleLineFullQuery.query, { lineNumber: 1, column: 30 })) + ).toEqual(StatementPosition.NewCommand); + expect( + getStatementPosition(generateToken(logsTestDataMultiLineFullQuery.query, { lineNumber: 2, column: 2 })) + ).toEqual(StatementPosition.NewCommand); }); it('should return StatementPosition.FieldsKeyword inside the `fields` keyword', () => { - expect(getStatementPosition(generateToken(singleLineFullQuery.query, { lineNumber: 1, column: 6 }))).toEqual( - StatementPosition.FieldsKeyword - ); + expect( + getStatementPosition(generateToken(logsTestDataSingleLineFullQuery.query, { lineNumber: 1, column: 6 })) + ).toEqual(StatementPosition.FieldsKeyword); }); it('should return StatementPosition.AfterFieldsKeyword after the `fields` keyword', () => { - expect(getStatementPosition(generateToken(singleLineFullQuery.query, { lineNumber: 1, column: 7 }))).toEqual( - StatementPosition.AfterFieldsKeyword - ); + expect( + getStatementPosition(generateToken(logsTestDataSingleLineFullQuery.query, { lineNumber: 1, column: 7 })) + ).toEqual(StatementPosition.AfterFieldsKeyword); }); it('should return StatementPosition.CommandArg after a keyword', () => { - expect(getStatementPosition(generateToken(singleLineFullQuery.query, { lineNumber: 1, column: 8 }))).toEqual( - StatementPosition.CommandArg - ); + expect( + getStatementPosition(generateToken(logsTestDataSingleLineFullQuery.query, { lineNumber: 1, column: 8 })) + ).toEqual(StatementPosition.CommandArg); }); it('should return StatementPosition.AfterCommand after a function', () => { - expect(getStatementPosition(generateToken(multiLineFullQuery.query, { lineNumber: 2, column: 49 }))).toEqual( - StatementPosition.AfterCommand - ); + expect( + getStatementPosition(generateToken(logsTestDataMultiLineFullQuery.query, { lineNumber: 2, column: 49 })) + ).toEqual(StatementPosition.AfterCommand); }); it('should return StatementPosition.Function within a function', () => { - expect(getStatementPosition(generateToken(multiLineFullQuery.query, { lineNumber: 4, column: 9 }))).toEqual( - StatementPosition.Function - ); + expect( + getStatementPosition(generateToken(logsTestDataMultiLineFullQuery.query, { lineNumber: 4, column: 9 })) + ).toEqual(StatementPosition.Function); }); it('should return StatementPosition.FunctionArg when providing arguments to a function', () => { - expect(getStatementPosition(generateToken(multiLineFullQuery.query, { lineNumber: 4, column: 16 }))).toEqual( - StatementPosition.FunctionArg - ); + expect( + getStatementPosition(generateToken(logsTestDataMultiLineFullQuery.query, { lineNumber: 4, column: 16 })) + ).toEqual(StatementPosition.FunctionArg); }); it('should return StatementPosition.AfterFunction after a function', () => { - expect(getStatementPosition(generateToken(multiLineFullQuery.query, { lineNumber: 4, column: 64 }))).toEqual( - StatementPosition.AfterFunction - ); + expect( + getStatementPosition(generateToken(logsTestDataMultiLineFullQuery.query, { lineNumber: 4, column: 64 })) + ).toEqual(StatementPosition.AfterFunction); }); it('should return StatementPosition.ArithmeticOperatorArg after an arithmetic operator', () => { - expect(getStatementPosition(generateToken(multiLineFullQuery.query, { lineNumber: 4, column: 51 }))).toEqual( - StatementPosition.ArithmeticOperatorArg - ); - expect(getStatementPosition(generateToken(multiLineFullQuery.query, { lineNumber: 4, column: 58 }))).toEqual( - StatementPosition.ArithmeticOperatorArg - ); + expect( + getStatementPosition(generateToken(logsTestDataMultiLineFullQuery.query, { lineNumber: 4, column: 51 })) + ).toEqual(StatementPosition.ArithmeticOperatorArg); + expect( + getStatementPosition(generateToken(logsTestDataMultiLineFullQuery.query, { lineNumber: 4, column: 58 })) + ).toEqual(StatementPosition.ArithmeticOperatorArg); }); it('should return StatementPosition.BooleanOperatorArg after a boolean operator', () => { - expect(getStatementPosition(generateToken(multiLineFullQuery.query, { lineNumber: 2, column: 37 }))).toEqual( - StatementPosition.BooleanOperatorArg - ); + expect( + getStatementPosition(generateToken(logsTestDataMultiLineFullQuery.query, { lineNumber: 2, column: 37 })) + ).toEqual(StatementPosition.BooleanOperatorArg); }); it('should return StatementPosition.ComparisonOperatorArg after a comparison operator', () => { - expect(getStatementPosition(generateToken(multiLineFullQuery.query, { lineNumber: 2, column: 44 }))).toEqual( - StatementPosition.ComparisonOperatorArg - ); + expect( + getStatementPosition(generateToken(logsTestDataMultiLineFullQuery.query, { lineNumber: 2, column: 44 })) + ).toEqual(StatementPosition.ComparisonOperatorArg); }); it('should return StatementPosition.ArithmeticOperator after an arithmetic operator', () => { - expect(getStatementPosition(generateToken(multiLineFullQuery.query, { lineNumber: 4, column: 50 }))).toEqual( - StatementPosition.ArithmeticOperator - ); - expect(getStatementPosition(generateToken(multiLineFullQuery.query, { lineNumber: 4, column: 57 }))).toEqual( - StatementPosition.ArithmeticOperator - ); + expect( + getStatementPosition(generateToken(logsTestDataMultiLineFullQuery.query, { lineNumber: 4, column: 50 })) + ).toEqual(StatementPosition.ArithmeticOperator); + expect( + getStatementPosition(generateToken(logsTestDataMultiLineFullQuery.query, { lineNumber: 4, column: 57 })) + ).toEqual(StatementPosition.ArithmeticOperator); }); it('should return StatementPosition.BooleanOperator after a boolean operator', () => { - expect(getStatementPosition(generateToken(multiLineFullQuery.query, { lineNumber: 2, column: 35 }))).toEqual( - StatementPosition.BooleanOperator - ); + expect( + getStatementPosition(generateToken(logsTestDataMultiLineFullQuery.query, { lineNumber: 2, column: 35 })) + ).toEqual(StatementPosition.BooleanOperator); }); it('should return StatementPosition.ComparisonOperator after a comparison operator', () => { - expect(getStatementPosition(generateToken(multiLineFullQuery.query, { lineNumber: 2, column: 43 }))).toEqual( - StatementPosition.ComparisonOperator - ); + expect( + getStatementPosition(generateToken(logsTestDataMultiLineFullQuery.query, { lineNumber: 2, column: 43 })) + ).toEqual(StatementPosition.ComparisonOperator); }); it('should return StatementPosition.Comment when token is a comment', () => { - expect(getStatementPosition(generateToken(singleLineFullQuery.query, { lineNumber: 1, column: 40 }))).toEqual( - StatementPosition.Comment - ); - expect(getStatementPosition(generateToken(commentOnlyQuery.query, { lineNumber: 1, column: 35 }))).toEqual( - StatementPosition.Comment - ); - expect(getStatementPosition(generateToken(multiLineFullQuery.query, { lineNumber: 5, column: 3 }))).toEqual( - StatementPosition.Comment - ); + expect( + getStatementPosition(generateToken(logsTestDataSingleLineFullQuery.query, { lineNumber: 1, column: 40 })) + ).toEqual(StatementPosition.Comment); + expect( + getStatementPosition(generateToken(logsTestDataCommentOnlyQuery.query, { lineNumber: 1, column: 35 })) + ).toEqual(StatementPosition.Comment); + expect( + getStatementPosition(generateToken(logsTestDataMultiLineFullQuery.query, { lineNumber: 5, column: 3 })) + ).toEqual(StatementPosition.Comment); }); }); diff --git a/public/app/plugins/datasource/cloudwatch/language/metric-math/completion/CompletionItemProvider.test.ts b/public/app/plugins/datasource/cloudwatch/language/metric-math/completion/CompletionItemProvider.test.ts index 2b5cf635293..15da6a8b764 100644 --- a/public/app/plugins/datasource/cloudwatch/language/metric-math/completion/CompletionItemProvider.test.ts +++ b/public/app/plugins/datasource/cloudwatch/language/metric-math/completion/CompletionItemProvider.test.ts @@ -1,7 +1,12 @@ import { Monaco, monacoTypes } from '@grafana/ui'; import { setupMockedTemplateService } from '../../../mocks/CloudWatchDataSource'; -import * as MetricMathTestData from '../../../mocks/metric-math-test-data'; +import { afterFunctionQuery } from '../../../mocks/metric-math-test-data/afterFunctionQuery'; +import { secondArgAfterSearchQuery } from '../../../mocks/metric-math-test-data/secondArgAfterSearchQuery'; +import { secondArgQuery } from '../../../mocks/metric-math-test-data/secondArgQuery'; +import { singleLineEmptyQuery } from '../../../mocks/metric-math-test-data/singleLineEmptyQuery'; +import { thirdArgAfterSearchQuery } from '../../../mocks/metric-math-test-data/thirdArgAfterSearchQuery'; +import { withinStringQuery } from '../../../mocks/metric-math-test-data/withinStringQuery'; import MonacoMock from '../../../mocks/monarch/Monaco'; import TextModel from '../../../mocks/monarch/TextModel'; import { ResourcesAPI } from '../../../resources/ResourcesAPI'; @@ -34,37 +39,37 @@ const getSuggestions = async (value: string, position: monacoTypes.IPosition) => describe('MetricMath: CompletionItemProvider', () => { describe('getSuggestions', () => { it('returns a suggestion for every metric math function when the input field is empty', async () => { - const { query, position } = MetricMathTestData.singleLineEmptyQuery; + const { query, position } = singleLineEmptyQuery; const suggestions = await getSuggestions(query, position); expect(suggestions.length).toEqual(METRIC_MATH_FNS.length); }); it('returns a suggestion for every metric math operator when at the end of a function', async () => { - const { query, position } = MetricMathTestData.afterFunctionQuery; + const { query, position } = afterFunctionQuery; const suggestions = await getSuggestions(query, position); expect(suggestions.length).toEqual(METRIC_MATH_OPERATORS.length); }); it('returns a suggestion for every metric math function and keyword if at the start of the second argument of a function', async () => { - const { query, position } = MetricMathTestData.secondArgQuery; + const { query, position } = secondArgQuery; const suggestions = await getSuggestions(query, position); expect(suggestions.length).toEqual(METRIC_MATH_FNS.length + METRIC_MATH_KEYWORDS.length); }); it('does not have any particular suggestions if within a string', async () => { - const { query, position } = MetricMathTestData.withinStringQuery; + const { query, position } = withinStringQuery; const suggestions = await getSuggestions(query, position); expect(suggestions.length).toEqual(0); }); it('returns a suggestion for every statistic if the second arg of a search function', async () => { - const { query, position } = MetricMathTestData.secondArgAfterSearchQuery; + const { query, position } = secondArgAfterSearchQuery; const suggestions = await getSuggestions(query, position); expect(suggestions.length).toEqual(METRIC_MATH_STATISTIC_KEYWORD_STRINGS.length); }); it('returns a suggestion for every period if the third arg of a search function', async () => { - const { query, position } = MetricMathTestData.thirdArgAfterSearchQuery; + const { query, position } = thirdArgAfterSearchQuery; const suggestions = await getSuggestions(query, position); // +1 because one suggestion is also added for the $__period_auto macro const expectedSuggestionsLength = METRIC_MATH_PERIODS.length + 1; diff --git a/public/app/plugins/datasource/cloudwatch/language/metric-math/completion/statementPosition.test.ts b/public/app/plugins/datasource/cloudwatch/language/metric-math/completion/statementPosition.test.ts index 7b8c5e41752..47d42acb605 100644 --- a/public/app/plugins/datasource/cloudwatch/language/metric-math/completion/statementPosition.test.ts +++ b/public/app/plugins/datasource/cloudwatch/language/metric-math/completion/statementPosition.test.ts @@ -1,6 +1,11 @@ import { monacoTypes } from '@grafana/ui'; -import * as MetricMathTestQueries from '../../../mocks/metric-math-test-data'; +import { afterFunctionQuery } from '../../../mocks/metric-math-test-data/afterFunctionQuery'; +import { secondArgAfterSearchQuery } from '../../../mocks/metric-math-test-data/secondArgAfterSearchQuery'; +import { secondArgQuery } from '../../../mocks/metric-math-test-data/secondArgQuery'; +import { singleLineEmptyQuery } from '../../../mocks/metric-math-test-data/singleLineEmptyQuery'; +import { thirdArgAfterSearchQuery } from '../../../mocks/metric-math-test-data/thirdArgAfterSearchQuery'; +import { withinStringQuery } from '../../../mocks/metric-math-test-data/withinStringQuery'; import MonacoMock from '../../../mocks/monarch/Monaco'; import TextModel from '../../../mocks/monarch/TextModel'; import { linkedTokenBuilder } from '../../monarch/linkedTokenBuilder'; @@ -23,49 +28,31 @@ describe('statementPosition', () => { } it('returns PredefinedFunction when at the beginning of an empty query', () => { - const token = createToken( - MetricMathTestQueries.singleLineEmptyQuery.query, - MetricMathTestQueries.singleLineEmptyQuery.position - ); + const token = createToken(singleLineEmptyQuery.query, singleLineEmptyQuery.position); expect(getStatementPosition(token)).toEqual(StatementPosition.PredefinedFunction); }); it('returns PredefinedFuncSecondArg when in the second arg of a predefined function', () => { - const token = createToken( - MetricMathTestQueries.secondArgQuery.query, - MetricMathTestQueries.secondArgQuery.position - ); + const token = createToken(secondArgQuery.query, secondArgQuery.position); expect(getStatementPosition(token)).toEqual(StatementPosition.PredefinedFuncSecondArg); }); it('returns SearchFuncSecondArg when in the second arg of a Search function', () => { - const token = createToken( - MetricMathTestQueries.secondArgAfterSearchQuery.query, - MetricMathTestQueries.secondArgAfterSearchQuery.position - ); + const token = createToken(secondArgAfterSearchQuery.query, secondArgAfterSearchQuery.position); expect(getStatementPosition(token)).toEqual(StatementPosition.SearchFuncSecondArg); }); it('returns SearchFuncThirdArg when in the third arg of a Search function', () => { - const token = createToken( - MetricMathTestQueries.thirdArgAfterSearchQuery.query, - MetricMathTestQueries.thirdArgAfterSearchQuery.position - ); + const token = createToken(thirdArgAfterSearchQuery.query, thirdArgAfterSearchQuery.position); expect(getStatementPosition(token)).toEqual(StatementPosition.SearchFuncThirdArg); }); it('returns AfterFunction when after a function', () => { - const token = createToken( - MetricMathTestQueries.afterFunctionQuery.query, - MetricMathTestQueries.afterFunctionQuery.position - ); + const token = createToken(afterFunctionQuery.query, afterFunctionQuery.position); expect(getStatementPosition(token)).toEqual(StatementPosition.AfterFunction); }); it('returns WithinString when within a string', () => { - const token = createToken( - MetricMathTestQueries.withinStringQuery.query, - MetricMathTestQueries.withinStringQuery.position - ); + const token = createToken(withinStringQuery.query, withinStringQuery.position); expect(getStatementPosition(token)).toEqual(StatementPosition.WithinString); }); }); diff --git a/public/app/plugins/datasource/cloudwatch/language/monarch/linkedTokenBuilder.test.ts b/public/app/plugins/datasource/cloudwatch/language/monarch/linkedTokenBuilder.test.ts index 391b286c522..0a7fe54d16d 100644 --- a/public/app/plugins/datasource/cloudwatch/language/monarch/linkedTokenBuilder.test.ts +++ b/public/app/plugins/datasource/cloudwatch/language/monarch/linkedTokenBuilder.test.ts @@ -1,6 +1,7 @@ import { monacoTypes } from '@grafana/ui'; -import { multiLineFullQuery, singleLineFullQuery } from '../../mocks/cloudwatch-sql-test-data'; +import { sqlTestDataMultiLineFullQuery } from '../../mocks/cloudwatch-sql-test-data/multiLineFullQuery'; +import { sqlTestDataSingleLineFullQuery } from '../../mocks/cloudwatch-sql-test-data/singleLineFullQuery'; import MonacoMock from '../../mocks/monarch/Monaco'; import TextModel from '../../mocks/monarch/TextModel'; import { SQLTokenTypes } from '../cloudwatch-sql/completion/types'; @@ -11,7 +12,7 @@ import { linkedTokenBuilder } from './linkedTokenBuilder'; describe('linkedTokenBuilder', () => { describe('singleLineFullQuery', () => { - const testModel = TextModel(singleLineFullQuery.query); + const testModel = TextModel(sqlTestDataSingleLineFullQuery.query); it('should add correct references to next LinkedToken', () => { const position: monacoTypes.IPosition = { lineNumber: 1, column: 0 }; @@ -28,7 +29,7 @@ describe('linkedTokenBuilder', () => { }); it('should add correct references to previous LinkedToken', () => { - const position: monacoTypes.IPosition = { lineNumber: 1, column: singleLineFullQuery.query.length }; + const position: monacoTypes.IPosition = { lineNumber: 1, column: sqlTestDataSingleLineFullQuery.query.length }; const current = linkedTokenBuilder( MonacoMock, cloudWatchSqlLanguageDefinition, @@ -45,7 +46,7 @@ describe('linkedTokenBuilder', () => { }); describe('multiLineFullQuery', () => { - const testModel = TextModel(multiLineFullQuery.query); + const testModel = TextModel(sqlTestDataMultiLineFullQuery.query); it('should add LinkedToken with whitespace in case empty lines', () => { const position: monacoTypes.IPosition = { lineNumber: 3, column: 0 }; diff --git a/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-logs-test-data/commentOnlyQuery.ts b/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-logs-test-data/commentOnlyQuery.ts index ceb105b5762..511875c109c 100644 --- a/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-logs-test-data/commentOnlyQuery.ts +++ b/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-logs-test-data/commentOnlyQuery.ts @@ -3,7 +3,7 @@ import { monacoTypes } from '@grafana/ui'; import { LogsTokenTypes } from '../../language/logs/completion/types'; import { CLOUDWATCH_LOGS_LANGUAGE_DEFINITION_ID } from '../../language/logs/definition'; -export const commentOnlyQuery = { +export const logsTestDataCommentOnlyQuery = { query: `# comment ending with whitespace `, tokens: [ [{ offset: 0, type: LogsTokenTypes.Comment, language: CLOUDWATCH_LOGS_LANGUAGE_DEFINITION_ID }], diff --git a/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-logs-test-data/empty.ts b/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-logs-test-data/empty.ts index 6f4ae6aafba..a47317dd1fc 100644 --- a/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-logs-test-data/empty.ts +++ b/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-logs-test-data/empty.ts @@ -1,4 +1,4 @@ -export const emptyQuery = { +export const logsTestDataEmptyQuery = { query: '', tokens: [], position: { lineNumber: 1, column: 1 }, diff --git a/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-logs-test-data/filterQuery.ts b/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-logs-test-data/filterQuery.ts index 3cb71d829cd..725f1d00fc8 100644 --- a/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-logs-test-data/filterQuery.ts +++ b/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-logs-test-data/filterQuery.ts @@ -3,7 +3,7 @@ import { monacoTypes } from '@grafana/ui'; import { LogsTokenTypes } from '../../language/logs/completion/types'; import { CLOUDWATCH_LOGS_LANGUAGE_DEFINITION_ID } from '../../language/logs/definition'; -export const filterQuery = { +export const logsTestDataFilterQuery = { query: `filter logGroup `, tokens: [ [ diff --git a/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-logs-test-data/index.ts b/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-logs-test-data/index.ts deleted file mode 100644 index 03832032916..00000000000 --- a/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-logs-test-data/index.ts +++ /dev/null @@ -1,8 +0,0 @@ -export { emptyQuery } from './empty'; -export { whitespaceOnlyQuery } from './whitespaceQuery'; -export { commentOnlyQuery } from './commentOnlyQuery'; -export { singleLineFullQuery } from './singleLineFullQuery'; -export { multiLineFullQuery } from './multiLineFullQuery'; -export { filterQuery } from './filterQuery'; -export { newCommandQuery } from './newCommandQuery'; -export { sortQuery } from './sortQuery'; diff --git a/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-logs-test-data/multiLineFullQuery.ts b/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-logs-test-data/multiLineFullQuery.ts index 56321e94645..2034f5dc31a 100644 --- a/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-logs-test-data/multiLineFullQuery.ts +++ b/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-logs-test-data/multiLineFullQuery.ts @@ -3,7 +3,7 @@ import { monacoTypes } from '@grafana/ui'; import { LogsTokenTypes } from '../../language/logs/completion/types'; import { CLOUDWATCH_LOGS_LANGUAGE_DEFINITION_ID } from '../../language/logs/definition'; -export const multiLineFullQuery = { +export const logsTestDataMultiLineFullQuery = { query: `fields @timestamp, unmask(@message) as msg, @memorySize | filter (@message like /error/ and bytes > 1000) | parse @message /(?eni-.*?)/ diff --git a/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-logs-test-data/newCommandQuery.ts b/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-logs-test-data/newCommandQuery.ts index f9bbf983e52..84730e5ddcd 100644 --- a/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-logs-test-data/newCommandQuery.ts +++ b/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-logs-test-data/newCommandQuery.ts @@ -3,7 +3,7 @@ import { monacoTypes } from '@grafana/ui'; import { LogsTokenTypes } from '../../language/logs/completion/types'; import { CLOUDWATCH_LOGS_LANGUAGE_DEFINITION_ID } from '../../language/logs/definition'; -export const newCommandQuery = { +export const logsTestDataNewCommandQuery = { query: `fields @timestamp | `, tokens: [ [ diff --git a/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-logs-test-data/singleLineFullQuery.ts b/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-logs-test-data/singleLineFullQuery.ts index 88779221ab9..ab2600320c7 100644 --- a/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-logs-test-data/singleLineFullQuery.ts +++ b/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-logs-test-data/singleLineFullQuery.ts @@ -3,7 +3,7 @@ import { monacoTypes } from '@grafana/ui'; import { LogsTokenTypes } from '../../language/logs/completion/types'; import { CLOUDWATCH_LOGS_LANGUAGE_DEFINITION_ID } from '../../language/logs/definition'; -export const singleLineFullQuery = { +export const logsTestDataSingleLineFullQuery = { query: `fields @timestamp, @message | limit 20 # this is a comment`, tokens: [ [ diff --git a/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-logs-test-data/sortQuery.ts b/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-logs-test-data/sortQuery.ts index ba535cd8479..2fa7dd472f9 100644 --- a/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-logs-test-data/sortQuery.ts +++ b/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-logs-test-data/sortQuery.ts @@ -3,7 +3,7 @@ import { monacoTypes } from '@grafana/ui'; import { LogsTokenTypes } from '../../language/logs/completion/types'; import { CLOUDWATCH_LOGS_LANGUAGE_DEFINITION_ID } from '../../language/logs/definition'; -export const sortQuery = { +export const logsTestDataSortQuery = { query: `fields @timestamp | sort `, tokens: [ [ diff --git a/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-logs-test-data/whitespaceQuery.ts b/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-logs-test-data/whitespaceQuery.ts index b4e93a15b69..e46bd219a16 100644 --- a/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-logs-test-data/whitespaceQuery.ts +++ b/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-logs-test-data/whitespaceQuery.ts @@ -3,7 +3,7 @@ import { monacoTypes } from '@grafana/ui'; import { LogsTokenTypes } from '../../language/logs/completion/types'; import { CLOUDWATCH_LOGS_LANGUAGE_DEFINITION_ID } from '../../language/logs/definition'; -export const whitespaceOnlyQuery = { +export const logsTestDataWhitespaceOnlyQuery = { query: ` `, tokens: [ [{ offset: 0, type: LogsTokenTypes.Whitespace, language: CLOUDWATCH_LOGS_LANGUAGE_DEFINITION_ID }], diff --git a/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-sql-test-data/index.ts b/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-sql-test-data/index.ts deleted file mode 100644 index aa971ef6dd0..00000000000 --- a/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-sql-test-data/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -export { multiLineFullQuery } from './multiLineFullQuery'; -export { singleLineFullQuery } from './singleLineFullQuery'; -export { singleLineEmptyQuery } from './singleLineEmptyQuery'; -export { singleLineTwoQueries } from './singleLineTwoQueries'; -export { multiLineIncompleteQueryWithoutNamespace } from './multiLineIncompleteQueryWithoutNamespace'; diff --git a/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-sql-test-data/multiLineFullQuery.ts b/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-sql-test-data/multiLineFullQuery.ts index 69a735d285c..ae63482c653 100644 --- a/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-sql-test-data/multiLineFullQuery.ts +++ b/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-sql-test-data/multiLineFullQuery.ts @@ -1,6 +1,6 @@ import { monacoTypes } from '@grafana/ui'; -export const multiLineFullQuery = { +export const sqlTestDataMultiLineFullQuery = { query: `SELECT AVG(CPUUtilization) FROM SCHEMA("AWS/ECS", InstanceId) diff --git a/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-sql-test-data/multiLineIncompleteQueryWithoutNamespace.ts b/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-sql-test-data/multiLineIncompleteQueryWithoutNamespace.ts index b09bb82cba8..59985eb4cdc 100644 --- a/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-sql-test-data/multiLineIncompleteQueryWithoutNamespace.ts +++ b/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-sql-test-data/multiLineIncompleteQueryWithoutNamespace.ts @@ -1,6 +1,6 @@ import { monacoTypes } from '@grafana/ui'; -export const multiLineIncompleteQueryWithoutNamespace = { +export const sqlTestDataMultiLineIncompleteQueryWithoutNamespace = { query: `SELECT AVG(CPUUtilization) FROM `, tokens: [ diff --git a/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-sql-test-data/singleLineEmptyQuery.ts b/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-sql-test-data/singleLineEmptyQuery.ts index b3720be7b28..218f546c252 100644 --- a/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-sql-test-data/singleLineEmptyQuery.ts +++ b/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-sql-test-data/singleLineEmptyQuery.ts @@ -1,6 +1,6 @@ import { monacoTypes } from '@grafana/ui'; -export const singleLineEmptyQuery = { +export const sqlTestDataSingleLineEmptyQuery = { query: '', tokens: [] as monacoTypes.Token[][], }; diff --git a/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-sql-test-data/singleLineFullQuery.ts b/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-sql-test-data/singleLineFullQuery.ts index a6021bf2189..12859236453 100644 --- a/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-sql-test-data/singleLineFullQuery.ts +++ b/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-sql-test-data/singleLineFullQuery.ts @@ -1,6 +1,6 @@ import { monacoTypes } from '@grafana/ui'; -export const singleLineFullQuery = { +export const sqlTestDataSingleLineFullQuery = { query: `SELECT AVG(CPUUtilization) FROM SCHEMA("AWS/EC2", InstanceId) WHERE InstanceId = 'i-03c6908092db17ac9' GROUP BY InstanceId ORDER BY AVG() DESC LIMIT 10`, tokens: [ [ diff --git a/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-sql-test-data/singleLineTwoQueries.ts b/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-sql-test-data/singleLineTwoQueries.ts index 005d93b53c6..8afe2fc0f49 100644 --- a/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-sql-test-data/singleLineTwoQueries.ts +++ b/public/app/plugins/datasource/cloudwatch/mocks/cloudwatch-sql-test-data/singleLineTwoQueries.ts @@ -1,6 +1,6 @@ import { monacoTypes } from '@grafana/ui'; -export const singleLineTwoQueries = { +export const sqlTestDataSingleLineTwoQueries = { query: `SELECT AVG(CPUUtilization) FROM SCHEMA("AWS/EC2", InstanceId) WHERE InstanceId = 'i-03c6908092db17ac9' GROUP BY InstanceId ORDER BY AVG() DESC LIMIT 10 / SELECT SUM(CPUCreditUsage) FROM "AWS/ECS"`, tokens: [ [ diff --git a/public/app/plugins/datasource/cloudwatch/mocks/dynamic-label-test-data/afterLabelValue.ts b/public/app/plugins/datasource/cloudwatch/mocks/dynamic-label-test-data/afterLabelValue.ts index 14d07dda089..d4100197372 100644 --- a/public/app/plugins/datasource/cloudwatch/mocks/dynamic-label-test-data/afterLabelValue.ts +++ b/public/app/plugins/datasource/cloudwatch/mocks/dynamic-label-test-data/afterLabelValue.ts @@ -1,6 +1,6 @@ import { monacoTypes } from '@grafana/ui'; -export const afterLabelValue = { +export const dynamicLabelTestDataAfterLabelValue = { query: '${DATAPOINT_COUNT} ', tokens: [ [ diff --git a/public/app/plugins/datasource/cloudwatch/mocks/dynamic-label-test-data/index.ts b/public/app/plugins/datasource/cloudwatch/mocks/dynamic-label-test-data/index.ts deleted file mode 100644 index b6f4eee0612..00000000000 --- a/public/app/plugins/datasource/cloudwatch/mocks/dynamic-label-test-data/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { afterLabelValue } from './afterLabelValue'; -export { insideLabelValue } from './insideLabelValue'; diff --git a/public/app/plugins/datasource/cloudwatch/mocks/dynamic-label-test-data/insideLabelValue.ts b/public/app/plugins/datasource/cloudwatch/mocks/dynamic-label-test-data/insideLabelValue.ts index b60d1a106ae..d05eb55cbf1 100644 --- a/public/app/plugins/datasource/cloudwatch/mocks/dynamic-label-test-data/insideLabelValue.ts +++ b/public/app/plugins/datasource/cloudwatch/mocks/dynamic-label-test-data/insideLabelValue.ts @@ -1,6 +1,6 @@ import { monacoTypes } from '@grafana/ui'; -export const insideLabelValue = { +export const dynamicLabelTestDataInsideLabelValue = { query: '${DATAPOINT_COUNT} ', tokens: [ [ diff --git a/public/app/plugins/datasource/cloudwatch/mocks/metric-math-test-data/index.ts b/public/app/plugins/datasource/cloudwatch/mocks/metric-math-test-data/index.ts deleted file mode 100644 index 1d4bcf2dbf1..00000000000 --- a/public/app/plugins/datasource/cloudwatch/mocks/metric-math-test-data/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -export { singleLineEmptyQuery } from './singleLineEmptyQuery'; -export { afterFunctionQuery } from './afterFunctionQuery'; -export { secondArgQuery } from './secondArgQuery'; -export { secondArgAfterSearchQuery } from './secondArgAfterSearchQuery'; -export { thirdArgAfterSearchQuery } from './thirdArgAfterSearchQuery'; -export { withinStringQuery } from './withinStringQuery'; diff --git a/public/app/plugins/datasource/cloudwatch/mocks/monarch/Monaco.ts b/public/app/plugins/datasource/cloudwatch/mocks/monarch/Monaco.ts index 09fda988e8e..e1115ed2187 100644 --- a/public/app/plugins/datasource/cloudwatch/mocks/monarch/Monaco.ts +++ b/public/app/plugins/datasource/cloudwatch/mocks/monarch/Monaco.ts @@ -11,13 +11,30 @@ import { partialQueryWithFunction as cloudwatchLogsSQLPartialQueryWithFunction } import { partialQueryWithSubquery as cloudwatchLogsSQLPartialQueryWithSubquery } from '../cloudwatch-logs-sql-test-data/partialQueryWithSubquery'; import { singleLineFullQuery as cloudwatchLogsSQLSingleLineFullQuery } from '../cloudwatch-logs-sql-test-data/singleLineFullQuery'; import { whitespaceQuery as cloudwatchLogsSQLWhitespaceQuery } from '../cloudwatch-logs-sql-test-data/whitespaceQuery'; -import * as CloudwatchLogsTestData from '../cloudwatch-logs-test-data'; +import { logsTestDataCommentOnlyQuery } from '../cloudwatch-logs-test-data/commentOnlyQuery'; +import { logsTestDataEmptyQuery } from '../cloudwatch-logs-test-data/empty'; +import { logsTestDataFilterQuery } from '../cloudwatch-logs-test-data/filterQuery'; +import { logsTestDataMultiLineFullQuery } from '../cloudwatch-logs-test-data/multiLineFullQuery'; +import { logsTestDataNewCommandQuery } from '../cloudwatch-logs-test-data/newCommandQuery'; +import { logsTestDataSingleLineFullQuery } from '../cloudwatch-logs-test-data/singleLineFullQuery'; +import { logsTestDataSortQuery } from '../cloudwatch-logs-test-data/sortQuery'; +import { logsTestDataWhitespaceOnlyQuery } from '../cloudwatch-logs-test-data/whitespaceQuery'; import * as PPLMultilineQueries from '../cloudwatch-ppl-test-data/multilineQueries'; import { newCommandQuery as PPLNewCommandQuery } from '../cloudwatch-ppl-test-data/newCommandQuery'; import * as PPLSingleLineQueries from '../cloudwatch-ppl-test-data/singleLineQueries'; -import * as SQLTestData from '../cloudwatch-sql-test-data'; -import * as DynamicLabelTestData from '../dynamic-label-test-data'; -import * as MetricMathTestData from '../metric-math-test-data'; +import { sqlTestDataMultiLineFullQuery } from '../cloudwatch-sql-test-data/multiLineFullQuery'; +import { sqlTestDataMultiLineIncompleteQueryWithoutNamespace } from '../cloudwatch-sql-test-data/multiLineIncompleteQueryWithoutNamespace'; +import { sqlTestDataSingleLineEmptyQuery } from '../cloudwatch-sql-test-data/singleLineEmptyQuery'; +import { sqlTestDataSingleLineFullQuery } from '../cloudwatch-sql-test-data/singleLineFullQuery'; +import { sqlTestDataSingleLineTwoQueries } from '../cloudwatch-sql-test-data/singleLineTwoQueries'; +import { dynamicLabelTestDataAfterLabelValue } from '../dynamic-label-test-data/afterLabelValue'; +import { dynamicLabelTestDataInsideLabelValue } from '../dynamic-label-test-data/insideLabelValue'; +import { afterFunctionQuery } from '../metric-math-test-data/afterFunctionQuery'; +import { secondArgAfterSearchQuery } from '../metric-math-test-data/secondArgAfterSearchQuery'; +import { secondArgQuery } from '../metric-math-test-data/secondArgQuery'; +import { singleLineEmptyQuery } from '../metric-math-test-data/singleLineEmptyQuery'; +import { thirdArgAfterSearchQuery } from '../metric-math-test-data/thirdArgAfterSearchQuery'; +import { withinStringQuery } from '../metric-math-test-data/withinStringQuery'; // Stub for the Monaco instance. const MonacoMock: Monaco = { @@ -25,44 +42,44 @@ const MonacoMock: Monaco = { tokenize: (value: string, languageId: string) => { if (languageId === 'cloudwatch-sql') { const TestData = { - [SQLTestData.multiLineFullQuery.query]: SQLTestData.multiLineFullQuery.tokens, - [SQLTestData.singleLineFullQuery.query]: SQLTestData.singleLineFullQuery.tokens, - [SQLTestData.singleLineEmptyQuery.query]: SQLTestData.singleLineEmptyQuery.tokens, - [SQLTestData.singleLineTwoQueries.query]: SQLTestData.singleLineTwoQueries.tokens, - [SQLTestData.multiLineIncompleteQueryWithoutNamespace.query]: - SQLTestData.multiLineIncompleteQueryWithoutNamespace.tokens, + [sqlTestDataMultiLineFullQuery.query]: sqlTestDataMultiLineFullQuery.tokens, + [sqlTestDataSingleLineFullQuery.query]: sqlTestDataSingleLineFullQuery.tokens, + [sqlTestDataSingleLineEmptyQuery.query]: sqlTestDataSingleLineEmptyQuery.tokens, + [sqlTestDataSingleLineTwoQueries.query]: sqlTestDataSingleLineTwoQueries.tokens, + [sqlTestDataMultiLineIncompleteQueryWithoutNamespace.query]: + sqlTestDataMultiLineIncompleteQueryWithoutNamespace.tokens, }; return TestData[value]; } if (languageId === 'cloudwatch-MetricMath') { const TestData = { - [MetricMathTestData.singleLineEmptyQuery.query]: MetricMathTestData.singleLineEmptyQuery.tokens, - [MetricMathTestData.afterFunctionQuery.query]: MetricMathTestData.afterFunctionQuery.tokens, - [MetricMathTestData.secondArgQuery.query]: MetricMathTestData.secondArgQuery.tokens, - [MetricMathTestData.secondArgAfterSearchQuery.query]: MetricMathTestData.secondArgAfterSearchQuery.tokens, - [MetricMathTestData.withinStringQuery.query]: MetricMathTestData.withinStringQuery.tokens, - [MetricMathTestData.thirdArgAfterSearchQuery.query]: MetricMathTestData.thirdArgAfterSearchQuery.tokens, + [singleLineEmptyQuery.query]: singleLineEmptyQuery.tokens, + [afterFunctionQuery.query]: afterFunctionQuery.tokens, + [secondArgQuery.query]: secondArgQuery.tokens, + [secondArgAfterSearchQuery.query]: secondArgAfterSearchQuery.tokens, + [withinStringQuery.query]: withinStringQuery.tokens, + [thirdArgAfterSearchQuery.query]: thirdArgAfterSearchQuery.tokens, }; return TestData[value]; } if (languageId === 'cloudwatch-dynamicLabels') { const TestData = { - [DynamicLabelTestData.afterLabelValue.query]: DynamicLabelTestData.afterLabelValue.tokens, - [DynamicLabelTestData.insideLabelValue.query]: DynamicLabelTestData.insideLabelValue.tokens, + [dynamicLabelTestDataAfterLabelValue.query]: dynamicLabelTestDataAfterLabelValue.tokens, + [dynamicLabelTestDataInsideLabelValue.query]: dynamicLabelTestDataInsideLabelValue.tokens, }; return TestData[value]; } if (languageId === CLOUDWATCH_LOGS_LANGUAGE_DEFINITION_ID) { const TestData = { - [CloudwatchLogsTestData.emptyQuery.query]: CloudwatchLogsTestData.emptyQuery.tokens, - [CloudwatchLogsTestData.whitespaceOnlyQuery.query]: CloudwatchLogsTestData.whitespaceOnlyQuery.tokens, - [CloudwatchLogsTestData.commentOnlyQuery.query]: CloudwatchLogsTestData.commentOnlyQuery.tokens, - [CloudwatchLogsTestData.singleLineFullQuery.query]: CloudwatchLogsTestData.singleLineFullQuery.tokens, - [CloudwatchLogsTestData.multiLineFullQuery.query]: CloudwatchLogsTestData.multiLineFullQuery.tokens, - [CloudwatchLogsTestData.filterQuery.query]: CloudwatchLogsTestData.filterQuery.tokens, - [CloudwatchLogsTestData.newCommandQuery.query]: CloudwatchLogsTestData.newCommandQuery.tokens, - [CloudwatchLogsTestData.sortQuery.query]: CloudwatchLogsTestData.sortQuery.tokens, + [logsTestDataEmptyQuery.query]: logsTestDataEmptyQuery.tokens, + [logsTestDataWhitespaceOnlyQuery.query]: logsTestDataWhitespaceOnlyQuery.tokens, + [logsTestDataCommentOnlyQuery.query]: logsTestDataCommentOnlyQuery.tokens, + [logsTestDataSingleLineFullQuery.query]: logsTestDataSingleLineFullQuery.tokens, + [logsTestDataMultiLineFullQuery.query]: logsTestDataMultiLineFullQuery.tokens, + [logsTestDataFilterQuery.query]: logsTestDataFilterQuery.tokens, + [logsTestDataNewCommandQuery.query]: logsTestDataNewCommandQuery.tokens, + [logsTestDataSortQuery.query]: logsTestDataSortQuery.tokens, }; return TestData[value]; } diff --git a/public/app/plugins/datasource/elasticsearch/LanguageProvider.test.ts b/public/app/plugins/datasource/elasticsearch/LanguageProvider.test.ts index 9292bf0e741..cc4a0c6f6f0 100644 --- a/public/app/plugins/datasource/elasticsearch/LanguageProvider.test.ts +++ b/public/app/plugins/datasource/elasticsearch/LanguageProvider.test.ts @@ -1,11 +1,11 @@ import { AbstractLabelOperator, AbstractQuery } from '@grafana/data'; import LanguageProvider from './LanguageProvider'; +import { ElasticsearchDataQuery } from './dataquery.gen'; import { ElasticDatasource } from './datasource'; import { createElasticDatasource } from './mocks'; -import { ElasticsearchQuery } from './types'; -const baseLogsQuery: Partial = { +const baseLogsQuery: Partial = { metrics: [{ type: 'logs', id: '1' }], }; diff --git a/public/app/plugins/datasource/elasticsearch/LanguageProvider.ts b/public/app/plugins/datasource/elasticsearch/LanguageProvider.ts index 36bbf4ebfaf..963c4335f4b 100644 --- a/public/app/plugins/datasource/elasticsearch/LanguageProvider.ts +++ b/public/app/plugins/datasource/elasticsearch/LanguageProvider.ts @@ -1,7 +1,7 @@ import { AbstractLabelOperator, AbstractLabelMatcher, LanguageProvider, AbstractQuery } from '@grafana/data'; +import { ElasticsearchDataQuery } from './dataquery.gen'; import { ElasticDatasource } from './datasource'; -import { ElasticsearchQuery } from './types'; export default class ElasticsearchLanguageProvider extends LanguageProvider { declare request: (url: string, params?: any) => Promise; @@ -18,7 +18,7 @@ export default class ElasticsearchLanguageProvider extends LanguageProvider { /** * Queries are transformed to an ES Logs query since it's the behaviour most users expect. **/ - importFromAbstractQuery(abstractQuery: AbstractQuery): ElasticsearchQuery { + importFromAbstractQuery(abstractQuery: AbstractQuery): ElasticsearchDataQuery { return { metrics: [ { @@ -26,12 +26,12 @@ export default class ElasticsearchLanguageProvider extends LanguageProvider { type: 'logs', }, ], - query: this.getElasticsearchQuery(abstractQuery.labelMatchers), + query: this.getElasticsearchDataQuery(abstractQuery.labelMatchers), refId: abstractQuery.refId, }; } - getElasticsearchQuery(labels: AbstractLabelMatcher[]): string { + getElasticsearchDataQuery(labels: AbstractLabelMatcher[]): string { return labels .map((label) => { switch (label.operator) { diff --git a/public/app/plugins/datasource/elasticsearch/QueryBuilder.test.ts b/public/app/plugins/datasource/elasticsearch/QueryBuilder.test.ts index aefa020ed31..a042cb2e7e8 100644 --- a/public/app/plugins/datasource/elasticsearch/QueryBuilder.test.ts +++ b/public/app/plugins/datasource/elasticsearch/QueryBuilder.test.ts @@ -1,5 +1,6 @@ import { ElasticQueryBuilder } from './QueryBuilder'; -import { ElasticsearchQuery, TermsQuery } from './types'; +import { ElasticsearchDataQuery } from './dataquery.gen'; +import { TermsQuery } from './types'; describe('ElasticQueryBuilder', () => { const builder = new ElasticQueryBuilder({ timeField: '@timestamp' }); // es2 @@ -59,7 +60,7 @@ describe('ElasticQueryBuilder', () => { }); it('term agg and order by term', () => { - const target: ElasticsearchQuery = { + const target: ElasticsearchDataQuery = { refId: 'A', metrics: [ { type: 'count', id: '1' }, @@ -262,7 +263,7 @@ describe('ElasticQueryBuilder', () => { }); it('should return correct query for raw_document metric', () => { - const target: ElasticsearchQuery = { + const target: ElasticsearchDataQuery = { refId: 'A', metrics: [{ type: 'raw_document', id: '1', settings: {} }], timeField: '@timestamp', diff --git a/public/app/plugins/datasource/elasticsearch/QueryBuilder.ts b/public/app/plugins/datasource/elasticsearch/QueryBuilder.ts index a5d7f767f2b..22ed3d8d68e 100644 --- a/public/app/plugins/datasource/elasticsearch/QueryBuilder.ts +++ b/public/app/plugins/datasource/elasticsearch/QueryBuilder.ts @@ -7,6 +7,15 @@ import { isPipelineAggregation, isPipelineAggregationWithMultipleBucketPaths, } from './components/QueryEditor/MetricAggregationsEditor/aggregations'; +import { + DateHistogram, + ElasticsearchDataQuery, + Filters, + Histogram, + MetricAggregation, + MetricAggregationWithInlineScript, + Terms, +} from './dataquery.gen'; import { defaultBucketAgg, defaultMetricAgg, @@ -14,16 +23,7 @@ import { highlightTags, defaultGeoHashPrecisionString, } from './queryDef'; -import { - ElasticsearchQuery, - TermsQuery, - Filters, - Terms, - MetricAggregation, - MetricAggregationWithInlineScript, - Histogram, - DateHistogram, -} from './types'; +import { TermsQuery } from './types'; import { convertOrderByToMetricId, getScriptValue } from './utils'; // Omitting 1m, 1h, 1d for now, as these cover the main use cases for calendar_interval @@ -48,7 +48,11 @@ export class ElasticQueryBuilder { return filter; } - buildTermsAgg(aggDef: Terms, queryNode: { terms?: any; aggs?: Record }, target: ElasticsearchQuery) { + buildTermsAgg( + aggDef: Terms, + queryNode: { terms?: any; aggs?: Record }, + target: ElasticsearchDataQuery + ) { queryNode.terms = { field: aggDef.field }; if (!aggDef.settings) { @@ -168,7 +172,7 @@ export class ElasticQueryBuilder { return query; } - build(target: ElasticsearchQuery) { + build(target: ElasticsearchDataQuery) { // make sure query has defaults; target.metrics = target.metrics || [defaultMetricAgg()]; target.bucketAggs = target.bucketAggs || [defaultBucketAgg()]; @@ -448,7 +452,7 @@ export class ElasticQueryBuilder { return query; } - getLogsQuery(target: ElasticsearchQuery, limit: number) { + getLogsQuery(target: ElasticsearchDataQuery, limit: number) { let query: any = { size: 0, query: { diff --git a/public/app/plugins/datasource/elasticsearch/components/MetricPicker.tsx b/public/app/plugins/datasource/elasticsearch/components/MetricPicker.tsx index 754a4e41ac7..51eb8003f9c 100644 --- a/public/app/plugins/datasource/elasticsearch/components/MetricPicker.tsx +++ b/public/app/plugins/datasource/elasticsearch/components/MetricPicker.tsx @@ -3,7 +3,7 @@ import { css, cx } from '@emotion/css'; import { SelectableValue } from '@grafana/data'; import { Segment } from '@grafana/ui'; -import { MetricAggregation } from '../types'; +import { MetricAggregation } from '../dataquery.gen'; import { describeMetric } from '../utils'; const noWrap = css({ diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/AnnotationQueryEditor.tsx b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/AnnotationQueryEditor.tsx index ee603a5f81b..3cca8867cd3 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/AnnotationQueryEditor.tsx +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/AnnotationQueryEditor.tsx @@ -2,13 +2,13 @@ import { AnnotationQuery } from '@grafana/data'; import { EditorField, EditorRow } from '@grafana/plugin-ui'; import { Input, Stack } from '@grafana/ui'; -import { ElasticsearchQuery } from '../../types'; +import { ElasticsearchDataQuery } from '../../dataquery.gen'; import { ElasticQueryEditorProps, ElasticSearchQueryField } from './index'; type Props = ElasticQueryEditorProps & { - annotation?: AnnotationQuery; - onAnnotationChange?: (annotation: AnnotationQuery) => void; + annotation?: AnnotationQuery; + onAnnotationChange?: (annotation: AnnotationQuery) => void; }; export function ElasticsearchAnnotationsQueryEditor(props: Props) { diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/BucketAggregationEditor.tsx b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/BucketAggregationEditor.tsx index 4b9910e2c7a..c2312d99e5e 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/BucketAggregationEditor.tsx +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/BucketAggregationEditor.tsx @@ -1,11 +1,11 @@ import { SelectableValue } from '@grafana/data'; import { InlineSegmentGroup, Segment, SegmentAsync } from '@grafana/ui'; +import { BucketAggregationType, BucketAggregation } from '../../../dataquery.gen'; import { useFields } from '../../../hooks/useFields'; import { useDispatch } from '../../../hooks/useStatelessReducer'; import { segmentStyles } from '../styles'; -import { BucketAggregation, BucketAggregationType } from './../../../types'; import { SettingsEditor } from './SettingsEditor'; import { isBucketAggregationWithField } from './aggregations'; import { changeBucketAggregationField, changeBucketAggregationType } from './state/actions'; diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/DateHistogramSettingsEditor.test.tsx b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/DateHistogramSettingsEditor.test.tsx index 76cd65f3880..a9d0ad0710c 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/DateHistogramSettingsEditor.test.tsx +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/DateHistogramSettingsEditor.test.tsx @@ -1,8 +1,9 @@ import { render, screen } from '@testing-library/react'; import { select } from 'react-select-event'; +import { DateHistogram } from 'app/plugins/datasource/elasticsearch/dataquery.gen'; + import { useDispatch } from '../../../../hooks/useStatelessReducer'; -import { DateHistogram } from '../../../../types'; import { DateHistogramSettingsEditor } from './DateHistogramSettingsEditor'; diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/DateHistogramSettingsEditor.tsx b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/DateHistogramSettingsEditor.tsx index 5ea427c3984..0dda5b13703 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/DateHistogramSettingsEditor.tsx +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/DateHistogramSettingsEditor.tsx @@ -4,10 +4,10 @@ import { GroupBase, OptionsOrGroups } from 'react-select'; import { InternalTimeZones, SelectableValue } from '@grafana/data'; import { InlineField, Input, Select, TimeZonePicker } from '@grafana/ui'; +import { DateHistogram } from 'app/plugins/datasource/elasticsearch/dataquery.gen'; import { calendarIntervals } from '../../../../QueryBuilder'; import { useDispatch } from '../../../../hooks/useStatelessReducer'; -import { DateHistogram } from '../../../../types'; import { useCreatableSelectPersistedBehaviour } from '../../../hooks/useCreatableSelectPersistedBehaviour'; import { changeBucketAggregationSetting } from '../state/actions'; import { bucketAggregationConfig } from '../utils'; diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/FiltersSettingsEditor/index.tsx b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/FiltersSettingsEditor/index.tsx index d3c47262de3..6fded5be996 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/FiltersSettingsEditor/index.tsx +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/FiltersSettingsEditor/index.tsx @@ -3,9 +3,9 @@ import { uniqueId } from 'lodash'; import { useEffect, useRef } from 'react'; import { InlineField, Input, QueryField } from '@grafana/ui'; +import { Filters } from 'app/plugins/datasource/elasticsearch/dataquery.gen'; import { useDispatch, useStatelessReducer } from '../../../../../hooks/useStatelessReducer'; -import { Filters } from '../../../../../types'; import { AddRemove } from '../../../../AddRemove'; import { changeBucketAggregationSetting } from '../../state/actions'; diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/FiltersSettingsEditor/state/actions.ts b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/FiltersSettingsEditor/state/actions.ts index 30edf04bec0..e60a664f066 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/FiltersSettingsEditor/state/actions.ts +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/FiltersSettingsEditor/state/actions.ts @@ -1,6 +1,6 @@ import { createAction } from '@reduxjs/toolkit'; -import { Filter } from '../../../../../../types'; +import { Filter } from 'app/plugins/datasource/elasticsearch/dataquery.gen'; export const addFilter = createAction('@bucketAggregations/filter/add'); export const removeFilter = createAction('@bucketAggregations/filter/remove'); diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/FiltersSettingsEditor/state/reducer.test.ts b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/FiltersSettingsEditor/state/reducer.test.ts index a0c5f2cf1f8..56b5ac9555c 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/FiltersSettingsEditor/state/reducer.test.ts +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/FiltersSettingsEditor/state/reducer.test.ts @@ -1,6 +1,6 @@ import { reducerTester } from 'test/core/redux/reducerTester'; -import { Filter } from '../../../../../../types'; +import { Filter } from 'app/plugins/datasource/elasticsearch/dataquery.gen'; import { addFilter, changeFilter, removeFilter } from './actions'; import { reducer } from './reducer'; diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/FiltersSettingsEditor/state/reducer.ts b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/FiltersSettingsEditor/state/reducer.ts index ab607b9f80e..022de8233b4 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/FiltersSettingsEditor/state/reducer.ts +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/FiltersSettingsEditor/state/reducer.ts @@ -1,6 +1,7 @@ import { Action } from 'redux'; -import { Filter } from '../../../../../../types'; +import { Filter } from 'app/plugins/datasource/elasticsearch/dataquery.gen'; + import { defaultFilter } from '../utils'; import { addFilter, changeFilter, removeFilter } from './actions'; diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/FiltersSettingsEditor/utils.ts b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/FiltersSettingsEditor/utils.ts index a216fcf4c06..adf5646381d 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/FiltersSettingsEditor/utils.ts +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/FiltersSettingsEditor/utils.ts @@ -1,3 +1,3 @@ -import { Filter } from '../../../../../types'; +import { Filter } from 'app/plugins/datasource/elasticsearch/dataquery.gen'; export const defaultFilter = (): Filter => ({ label: '', query: '*' }); diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/TermsSettingsEditor.test.tsx b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/TermsSettingsEditor.test.tsx index a0bf21c4046..14862e8f664 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/TermsSettingsEditor.test.tsx +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/TermsSettingsEditor.test.tsx @@ -1,9 +1,16 @@ import { fireEvent, screen } from '@testing-library/react'; import selectEvent from 'react-select-event'; +import { + Average, + Derivative, + ElasticsearchDataQuery, + Terms, + TopMetrics, +} from 'app/plugins/datasource/elasticsearch/dataquery.gen'; + import { useDispatch } from '../../../../hooks/useStatelessReducer'; import { renderWithESProvider } from '../../../../test-helpers/render'; -import { ElasticsearchQuery, Terms, Average, Derivative, TopMetrics } from '../../../../types'; import { describeMetric } from '../../../../utils'; import { TermsSettingsEditor } from './TermsSettingsEditor'; @@ -19,7 +26,7 @@ describe('Terms Settings Editor', () => { const avg: Average = { id: '2', type: 'avg', field: '@value' }; const derivative: Derivative = { id: '3', field: avg.id, type: 'derivative' }; const topMetrics: TopMetrics = { id: '4', type: 'top_metrics' }; - const query: ElasticsearchQuery = { + const query: ElasticsearchDataQuery = { refId: 'A', query: '', bucketAggs: [termsAgg], @@ -56,7 +63,7 @@ describe('Terms Settings Editor', () => { const avg: Average = { id: '2', type: 'avg', field: '@value' }; const derivative: Derivative = { id: '3', field: avg.id, type: 'derivative' }; const topMetrics: TopMetrics = { id: '4', type: 'top_metrics' }; - const query: ElasticsearchQuery = { + const query: ElasticsearchDataQuery = { refId: 'A', query: '', bucketAggs: [termsAgg], diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/TermsSettingsEditor.tsx b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/TermsSettingsEditor.tsx index 80bbd154e9f..e1bc64980ab 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/TermsSettingsEditor.tsx +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/TermsSettingsEditor.tsx @@ -3,9 +3,15 @@ import { useRef } from 'react'; import { SelectableValue } from '@grafana/data'; import { InlineField, Select, Input } from '@grafana/ui'; +import { + Terms, + ExtendedStats, + ExtendedStatMetaType, + Percentiles, + MetricAggregation, +} from 'app/plugins/datasource/elasticsearch/dataquery.gen'; import { useDispatch } from '../../../../hooks/useStatelessReducer'; -import { MetricAggregation, Percentiles, ExtendedStatMetaType, ExtendedStats, Terms } from '../../../../types'; import { describeMetric } from '../../../../utils'; import { useQuery } from '../../ElasticsearchQueryContext'; import { isPipelineAggregation } from '../../MetricAggregationsEditor/aggregations'; diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/index.tsx b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/index.tsx index b46778d39d9..9191ca25d1c 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/index.tsx +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/index.tsx @@ -2,9 +2,9 @@ import { uniqueId } from 'lodash'; import { ComponentProps, useRef } from 'react'; import { InlineField, Input } from '@grafana/ui'; +import { BucketAggregation } from 'app/plugins/datasource/elasticsearch/dataquery.gen'; import { useDispatch } from '../../../../hooks/useStatelessReducer'; -import { BucketAggregation } from '../../../../types'; import { SettingsEditorContainer } from '../../SettingsEditorContainer'; import { changeBucketAggregationSetting } from '../state/actions'; import { bucketAggregationConfig } from '../utils'; diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/useDescription.ts b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/useDescription.ts index 282df98b144..3e4e5cfea7c 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/useDescription.ts +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/SettingsEditor/useDescription.ts @@ -1,5 +1,6 @@ +import { BucketAggregation } from 'app/plugins/datasource/elasticsearch/dataquery.gen'; + import { defaultGeoHashPrecisionString } from '../../../../queryDef'; -import { BucketAggregation } from '../../../../types'; import { describeMetric, convertOrderByToMetricId } from '../../../../utils'; import { useQuery } from '../../ElasticsearchQueryContext'; import { bucketAggregationConfig, orderByOptions, orderOptions } from '../utils'; diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/aggregations.ts b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/aggregations.ts index 6a60679da33..3500740d18e 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/aggregations.ts +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/aggregations.ts @@ -1,4 +1,4 @@ -import { BucketAggregationType, BucketAggregationWithField, BucketAggregation } from '../../../types'; +import { BucketAggregation, BucketAggregationWithField, BucketAggregationType } from '../../../dataquery.gen'; import { bucketAggregationConfig } from './utils'; diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/index.tsx b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/index.tsx index 83578fc33b4..3e04a4a37e9 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/index.tsx +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/index.tsx @@ -1,10 +1,10 @@ import { Button } from '@grafana/ui'; +import { BucketAggregation } from '../../../dataquery.gen'; import { useDispatch } from '../../../hooks/useStatelessReducer'; import { useQuery } from '../ElasticsearchQueryContext'; import { QueryEditorRow } from '../QueryEditorRow'; -import { BucketAggregation } from './../../../types'; import { BucketAggregationEditor } from './BucketAggregationEditor'; import { addBucketAggregation, removeBucketAggregation } from './state/actions'; diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/state/actions.ts b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/state/actions.ts index f128d5aa582..dfab9ac0279 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/state/actions.ts +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/state/actions.ts @@ -1,6 +1,10 @@ import { createAction } from '@reduxjs/toolkit'; -import { BucketAggregation, BucketAggregationType, BucketAggregationWithField } from '../../../../types'; +import { + BucketAggregation, + BucketAggregationType, + BucketAggregationWithField, +} from 'app/plugins/datasource/elasticsearch/dataquery.gen'; export const addBucketAggregation = createAction('@bucketAggs/add'); export const removeBucketAggregation = createAction('@bucketAggs/remove'); diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/state/reducer.test.ts b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/state/reducer.test.ts index bdb9616b91d..6a34d5d7d91 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/state/reducer.test.ts +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/state/reducer.test.ts @@ -1,5 +1,10 @@ +import { + BucketAggregation, + DateHistogram, + ElasticsearchDataQuery, +} from 'app/plugins/datasource/elasticsearch/dataquery.gen'; + import { defaultBucketAgg } from '../../../../queryDef'; -import { BucketAggregation, DateHistogram, ElasticsearchQuery } from '../../../../types'; import { reducerTester } from '../../../reducerTester'; import { changeMetricType } from '../../MetricAggregationsEditor/state/actions'; import { initQuery } from '../../state'; @@ -28,7 +33,7 @@ describe('Bucket Aggregations Reducer', () => { settings: bucketAggregationConfig['terms'].defaultSettings, }; - reducerTester() + reducerTester() .givenReducer(createReducer('@timestamp'), []) .whenActionIsDispatched(addBucketAggregation(firstAggregation.id)) .thenStateShouldEqual([firstAggregation]) @@ -47,7 +52,7 @@ describe('Bucket Aggregations Reducer', () => { type: 'date_histogram', }; - reducerTester() + reducerTester() .givenReducer(createReducer('@timestamp'), [firstAggregation, secondAggregation]) .whenActionIsDispatched(removeBucketAggregation(firstAggregation.id)) .thenStateShouldEqual([secondAggregation]); @@ -69,7 +74,7 @@ describe('Bucket Aggregations Reducer', () => { settings: bucketAggregationConfig['histogram'].defaultSettings, }; - reducerTester() + reducerTester() .givenReducer(createReducer('@timestamp'), [firstAggregation, secondAggregation]) .whenActionIsDispatched( changeBucketAggregationType({ id: secondAggregation.id, newType: expectedSecondAggregation.type }) @@ -92,7 +97,7 @@ describe('Bucket Aggregations Reducer', () => { field: 'new field', }; - reducerTester() + reducerTester() .givenReducer(createReducer('@timestamp'), [firstAggregation, secondAggregation]) .whenActionIsDispatched( changeBucketAggregationField({ id: secondAggregation.id, newField: expectedSecondAggregation.field }) @@ -109,7 +114,7 @@ describe('Bucket Aggregations Reducer', () => { }, ]; - reducerTester() + reducerTester() .givenReducer(createReducer('@timestamp'), initialState) // If the new metric aggregation is non-metric, we should remove all bucket aggregations. .whenActionIsDispatched(changeMetricType({ id: 'Some id', type: 'raw_data' })) @@ -140,7 +145,7 @@ describe('Bucket Aggregations Reducer', () => { min_doc_count: '1', }; - reducerTester() + reducerTester() .givenReducer(createReducer('@timestamp'), [firstAggregation, secondAggregation]) .whenActionIsDispatched( changeBucketAggregationSetting({ @@ -156,7 +161,7 @@ describe('Bucket Aggregations Reducer', () => { it('Correctly adds a default Date Histogram if there is no aggregation', () => { const defaultTimeField = '@timestamp'; - reducerTester() + reducerTester() .givenReducer(createReducer(defaultTimeField), []) .whenActionIsDispatched(initQuery()) .thenStateShouldEqual([{ ...defaultBucketAgg('2'), field: defaultTimeField }]); @@ -169,7 +174,7 @@ describe('Bucket Aggregations Reducer', () => { field: '@my_time_field', }; - reducerTester() + reducerTester() .givenReducer(createReducer('@timestamp'), [bucketAgg]) .whenActionIsDispatched(initQuery()) .thenStateShouldEqual([bucketAgg]); diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/state/reducer.ts b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/state/reducer.ts index 935f7a10e07..b3638e1f1d1 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/state/reducer.ts +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/BucketAggregationsEditor/state/reducer.ts @@ -1,7 +1,8 @@ import { Action } from '@reduxjs/toolkit'; +import { BucketAggregation, ElasticsearchDataQuery, Terms } from 'app/plugins/datasource/elasticsearch/dataquery.gen'; + import { defaultBucketAgg } from '../../../../queryDef'; -import { ElasticsearchQuery, Terms, BucketAggregation } from '../../../../types'; import { removeEmpty } from '../../../../utils'; import { changeMetricType } from '../../MetricAggregationsEditor/state/actions'; import { metricAggregationConfig } from '../../MetricAggregationsEditor/utils'; @@ -18,7 +19,7 @@ import { export const createReducer = (defaultTimeField: string) => - (state: ElasticsearchQuery['bucketAggs'], action: Action): ElasticsearchQuery['bucketAggs'] => { + (state: ElasticsearchDataQuery['bucketAggs'], action: Action): ElasticsearchDataQuery['bucketAggs'] => { if (addBucketAggregation.match(action)) { const newAgg: Terms = { id: action.payload, diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/ElasticsearchQueryContext.test.tsx b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/ElasticsearchQueryContext.test.tsx index 9e70d487267..45a78023954 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/ElasticsearchQueryContext.test.tsx +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/ElasticsearchQueryContext.test.tsx @@ -3,12 +3,12 @@ import { PropsWithChildren } from 'react'; import { getDefaultTimeRange } from '@grafana/data'; +import { ElasticsearchDataQuery } from '../../dataquery.gen'; import { ElasticDatasource } from '../../datasource'; -import { ElasticsearchQuery } from '../../types'; import { ElasticsearchProvider, useQuery } from './ElasticsearchQueryContext'; -const query: ElasticsearchQuery = { +const query: ElasticsearchDataQuery = { refId: 'A', query: '', metrics: [{ id: '1', type: 'count' }], @@ -31,7 +31,7 @@ describe('ElasticsearchQueryContext', () => { /> ); - const changedQuery: ElasticsearchQuery = onChange.mock.calls[0][0]; + const changedQuery: ElasticsearchDataQuery = onChange.mock.calls[0][0]; expect(changedQuery.query).toBeDefined(); expect(changedQuery.alias).toBeDefined(); expect(changedQuery.metrics).toBeDefined(); diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/ElasticsearchQueryContext.tsx b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/ElasticsearchQueryContext.tsx index b2fd49cde44..57092ae9477 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/ElasticsearchQueryContext.tsx +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/ElasticsearchQueryContext.tsx @@ -2,21 +2,21 @@ import { Context, createContext, PropsWithChildren, useCallback, useContext, use import { TimeRange } from '@grafana/data'; +import { ElasticsearchDataQuery } from '../../dataquery.gen'; import { ElasticDatasource } from '../../datasource'; import { combineReducers, useStatelessReducer, DispatchContext } from '../../hooks/useStatelessReducer'; -import { ElasticsearchQuery } from '../../types'; import { createReducer as createBucketAggsReducer } from './BucketAggregationsEditor/state/reducer'; import { reducer as metricsReducer } from './MetricAggregationsEditor/state/reducer'; import { aliasPatternReducer, queryReducer, initQuery } from './state'; const DatasourceContext = createContext(undefined); -const QueryContext = createContext(undefined); +const QueryContext = createContext(undefined); const RangeContext = createContext(undefined); interface Props { - query: ElasticsearchQuery; - onChange: (query: ElasticsearchQuery) => void; + query: ElasticsearchDataQuery; + onChange: (query: ElasticsearchDataQuery) => void; onRunQuery: () => void; datasource: ElasticDatasource; range: TimeRange; @@ -31,7 +31,7 @@ export const ElasticsearchProvider = ({ range, }: PropsWithChildren) => { const onStateChange = useCallback( - (query: ElasticsearchQuery, prevQuery: ElasticsearchQuery) => { + (query: ElasticsearchDataQuery, prevQuery: ElasticsearchDataQuery) => { onChange(query); if (query.query === prevQuery.query || prevQuery.query === undefined) { onRunQuery(); @@ -40,7 +40,7 @@ export const ElasticsearchProvider = ({ [onChange, onRunQuery] ); - const reducer = combineReducers>({ + const reducer = combineReducers>({ query: queryReducer, alias: aliasPatternReducer, metrics: metricsReducer, diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/MetricEditor.test.tsx b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/MetricEditor.test.tsx index 64130e3ff26..89754ab6e59 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/MetricEditor.test.tsx +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/MetricEditor.test.tsx @@ -5,12 +5,11 @@ import { from } from 'rxjs'; import { getDefaultTimeRange } from '@grafana/data'; +import { Average, Count, ElasticsearchDataQuery, UniqueCount } from '../../../dataquery.gen'; import { ElasticDatasource } from '../../../datasource'; import { defaultBucketAgg } from '../../../queryDef'; -import { ElasticsearchQuery } from '../../../types'; import { ElasticsearchProvider } from '../ElasticsearchQueryContext'; -import { Average, Count, UniqueCount } from './../../../types'; import { MetricEditor } from './MetricEditor'; describe('Metric Editor', () => { @@ -20,7 +19,7 @@ describe('Metric Editor', () => { type: 'avg', }; - const query: ElasticsearchQuery = { + const query: ElasticsearchDataQuery = { refId: 'A', query: '', metrics: [avg], @@ -56,7 +55,7 @@ describe('Metric Editor', () => { type: 'cardinality', }; - const query: ElasticsearchQuery = { + const query: ElasticsearchDataQuery = { refId: 'A', query: '', metrics: [avg], @@ -93,7 +92,7 @@ describe('Metric Editor', () => { type: 'count', }; - const query: ElasticsearchQuery = { + const query: ElasticsearchDataQuery = { refId: 'A', query: '', metrics: [count], diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/MetricEditor.tsx b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/MetricEditor.tsx index 52a9c01617f..bbb9398055e 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/MetricEditor.tsx +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/MetricEditor.tsx @@ -5,9 +5,9 @@ import { satisfies, SemVer } from 'semver'; import { SelectableValue } from '@grafana/data'; import { InlineSegmentGroup, SegmentAsync, useTheme2 } from '@grafana/ui'; +import { MetricAggregation, MetricAggregationType } from '../../../dataquery.gen'; import { useFields } from '../../../hooks/useFields'; import { useDispatch } from '../../../hooks/useStatelessReducer'; -import { MetricAggregation, MetricAggregationType } from '../../../types'; import { MetricPicker } from '../../MetricPicker'; import { useDatasource, useQuery } from '../ElasticsearchQueryContext'; import { segmentStyles } from '../styles'; diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/SettingsEditor/BucketScriptSettingsEditor/index.tsx b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/SettingsEditor/BucketScriptSettingsEditor/index.tsx index 62f38e2820b..70d53eddbc4 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/SettingsEditor/BucketScriptSettingsEditor/index.tsx +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/SettingsEditor/BucketScriptSettingsEditor/index.tsx @@ -3,9 +3,9 @@ import { uniqueId } from 'lodash'; import { Fragment, useEffect } from 'react'; import { Input, InlineLabel } from '@grafana/ui'; +import { BucketScript, MetricAggregation } from 'app/plugins/datasource/elasticsearch/dataquery.gen'; import { useStatelessReducer, useDispatch } from '../../../../../hooks/useStatelessReducer'; -import { BucketScript, MetricAggregation } from '../../../../../types'; import { AddRemove } from '../../../../AddRemove'; import { MetricPicker } from '../../../../MetricPicker'; import { changeMetricAttribute } from '../../state/actions'; diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/SettingsEditor/BucketScriptSettingsEditor/state/reducer.test.ts b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/SettingsEditor/BucketScriptSettingsEditor/state/reducer.test.ts index b9ecf0749e7..02fc628ecc3 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/SettingsEditor/BucketScriptSettingsEditor/state/reducer.test.ts +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/SettingsEditor/BucketScriptSettingsEditor/state/reducer.test.ts @@ -1,4 +1,5 @@ -import { PipelineVariable } from '../../../../../../types'; +import { PipelineVariable } from 'app/plugins/datasource/elasticsearch/dataquery.gen'; + import { reducerTester } from '../../../../../reducerTester'; import { diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/SettingsEditor/BucketScriptSettingsEditor/state/reducer.ts b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/SettingsEditor/BucketScriptSettingsEditor/state/reducer.ts index 455037ee5c2..406b1f5b590 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/SettingsEditor/BucketScriptSettingsEditor/state/reducer.ts +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/SettingsEditor/BucketScriptSettingsEditor/state/reducer.ts @@ -1,6 +1,7 @@ import { Action } from '@reduxjs/toolkit'; -import { PipelineVariable } from '../../../../../../types'; +import { PipelineVariable } from 'app/plugins/datasource/elasticsearch/dataquery.gen'; + import { defaultPipelineVariable, generatePipelineVariableName } from '../utils'; import { diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/SettingsEditor/BucketScriptSettingsEditor/utils.ts b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/SettingsEditor/BucketScriptSettingsEditor/utils.ts index fdade3f9e1f..e2da781d190 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/SettingsEditor/BucketScriptSettingsEditor/utils.ts +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/SettingsEditor/BucketScriptSettingsEditor/utils.ts @@ -1,4 +1,4 @@ -import { PipelineVariable } from '../../../../../types'; +import { PipelineVariable } from 'app/plugins/datasource/elasticsearch/dataquery.gen'; export const defaultPipelineVariable = (name: string): PipelineVariable => ({ name, pipelineAgg: '' }); diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/SettingsEditor/SettingField.tsx b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/SettingsEditor/SettingField.tsx index aadca71e0ed..e4a3ad907a9 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/SettingsEditor/SettingField.tsx +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/SettingsEditor/SettingField.tsx @@ -2,9 +2,12 @@ import { uniqueId } from 'lodash'; import { ComponentProps, useState } from 'react'; import { InlineField, Input, TextArea } from '@grafana/ui'; +import { + MetricAggregationWithSettings, + MetricAggregationWithInlineScript, +} from 'app/plugins/datasource/elasticsearch/dataquery.gen'; import { useDispatch } from '../../../../hooks/useStatelessReducer'; -import { MetricAggregationWithInlineScript, MetricAggregationWithSettings } from '../../../../types'; import { getScriptValue } from '../../../../utils'; import { SettingKeyOf } from '../../../types'; import { changeMetricSetting } from '../state/actions'; diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/SettingsEditor/TopMetricsSettingsEditor.tsx b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/SettingsEditor/TopMetricsSettingsEditor.tsx index cea24cbfcd4..841a0ba5aff 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/SettingsEditor/TopMetricsSettingsEditor.tsx +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/SettingsEditor/TopMetricsSettingsEditor.tsx @@ -2,10 +2,10 @@ import { css } from '@emotion/css'; import { SelectableValue } from '@grafana/data'; import { AsyncMultiSelect, InlineField, SegmentAsync, Select } from '@grafana/ui'; +import { TopMetrics } from 'app/plugins/datasource/elasticsearch/dataquery.gen'; import { useFields } from '../../../../hooks/useFields'; import { useDispatch } from '../../../../hooks/useStatelessReducer'; -import { TopMetrics } from '../../../../types'; import { orderOptions } from '../../BucketAggregationsEditor/utils'; import { changeMetricSetting } from '../state/actions'; diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/SettingsEditor/index.test.tsx b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/SettingsEditor/index.test.tsx index f8b18d13388..019cb75b9bc 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/SettingsEditor/index.test.tsx +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/SettingsEditor/index.test.tsx @@ -1,9 +1,9 @@ import { fireEvent, render, screen } from '@testing-library/react'; import { getDefaultTimeRange } from '@grafana/data'; +import { ElasticsearchDataQuery } from 'app/plugins/datasource/elasticsearch/dataquery.gen'; import { ElasticDatasource } from '../../../../datasource'; -import { ElasticsearchQuery } from '../../../../types'; import { ElasticsearchProvider } from '../../ElasticsearchQueryContext'; import { SettingsEditor } from '.'; @@ -13,7 +13,7 @@ describe('Settings Editor', () => { it('Should correctly render the settings editor and trigger correct state changes', () => { const metricId = '1'; const initialSize = '500'; - const query: ElasticsearchQuery = { + const query: ElasticsearchDataQuery = { refId: 'A', query: '', metrics: [ @@ -88,7 +88,7 @@ describe('Settings Editor', () => { describe('Rate aggregation', () => { it('should render correct settings', () => { const metricId = '1'; - const query: ElasticsearchQuery = { + const query: ElasticsearchDataQuery = { refId: 'A', query: '', metrics: [ diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/SettingsEditor/index.tsx b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/SettingsEditor/index.tsx index e632d90d7cb..caa746eb56b 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/SettingsEditor/index.tsx +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/SettingsEditor/index.tsx @@ -3,10 +3,10 @@ import { ComponentProps, useId, useRef, useState } from 'react'; import * as React from 'react'; import { InlineField, Input, InlineSwitch, Select } from '@grafana/ui'; +import { MetricAggregation, ExtendedStat } from 'app/plugins/datasource/elasticsearch/dataquery.gen'; import { useDispatch } from '../../../../hooks/useStatelessReducer'; import { extendedStats } from '../../../../queryDef'; -import { MetricAggregation, ExtendedStat } from '../../../../types'; import { SettingsEditorContainer } from '../../SettingsEditorContainer'; import { isMetricAggregationWithInlineScript, isMetricAggregationWithMissingSupport } from '../aggregations'; import { changeMetricMeta, changeMetricSetting } from '../state/actions'; diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/SettingsEditor/useDescription.ts b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/SettingsEditor/useDescription.ts index c160fb940e4..44f15bc8660 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/SettingsEditor/useDescription.ts +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/SettingsEditor/useDescription.ts @@ -1,5 +1,6 @@ +import { MetricAggregation } from 'app/plugins/datasource/elasticsearch/dataquery.gen'; + import { extendedStats } from '../../../../queryDef'; -import { MetricAggregation } from '../../../../types'; const hasValue = (value: string) => (object: { value: string }) => object.value === value; diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/aggregations.ts b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/aggregations.ts index 509c4263054..5ee73ff6fd2 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/aggregations.ts +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/aggregations.ts @@ -1,15 +1,14 @@ import { - PipelineMetricAggregationWithMultipleBucketPaths, - MetricAggregationWithMeta, - MovingAverage, - MetricAggregationType, BaseMetricAggregation, MetricAggregationWithField, - MetricAggregationWithMissingSupport, - MetricAggregationWithInlineScript, PipelineMetricAggregation, + PipelineMetricAggregationWithMultipleBucketPaths, + MetricAggregationWithMissingSupport, MetricAggregationWithSettings, -} from '../../../types'; + MetricAggregationWithInlineScript, + MetricAggregationType, +} from '../../../dataquery.gen'; +import { MetricAggregationWithMeta, MovingAverage } from '../../../types'; import { metricAggregationConfig } from './utils'; diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/index.tsx b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/index.tsx index cc4901eb1d1..9323afef551 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/index.tsx +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/index.tsx @@ -1,11 +1,11 @@ import { Alert, Button } from '@grafana/ui'; +import { MetricAggregation } from '../../../dataquery.gen'; import { useDispatch } from '../../../hooks/useStatelessReducer'; import { useQuery } from '../ElasticsearchQueryContext'; import { QueryEditorRow } from '../QueryEditorRow'; import { QueryEditorSpecialMetricRow } from '../QueryEditorSpecialMetricRow'; -import { MetricAggregation } from './../../../types'; import { MetricEditor } from './MetricEditor'; import { addMetric, removeMetric, toggleMetricVisibility } from './state/actions'; import { metricAggregationConfig } from './utils'; diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/state/actions.ts b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/state/actions.ts index e7dc68aa1bd..f304e4876c1 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/state/actions.ts +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/state/actions.ts @@ -1,6 +1,8 @@ import { createAction } from '@reduxjs/toolkit'; -import { MetricAggregationWithMeta, MetricAggregation, MetricAggregationWithSettings } from '../../../../types'; +import { MetricAggregation, MetricAggregationWithSettings } from 'app/plugins/datasource/elasticsearch/dataquery.gen'; + +import { MetricAggregationWithMeta } from '../../../../types'; export const addMetric = createAction('@metrics/add'); export const removeMetric = createAction('@metrics/remove'); diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/state/reducer.test.ts b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/state/reducer.test.ts index 0719b2024c8..5662ad399ea 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/state/reducer.test.ts +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/state/reducer.test.ts @@ -1,5 +1,11 @@ +import { + MetricAggregation, + ElasticsearchDataQuery, + Derivative, + ExtendedStats, +} from 'app/plugins/datasource/elasticsearch/dataquery.gen'; + import { defaultMetricAgg } from '../../../../queryDef'; -import { Derivative, ElasticsearchQuery, ExtendedStats, MetricAggregation } from '../../../../types'; import { reducerTester } from '../../../reducerTester'; import { initQuery } from '../../state'; import { metricAggregationConfig } from '../utils'; @@ -27,7 +33,7 @@ describe('Metric Aggregations Reducer', () => { type: 'count', }; - reducerTester() + reducerTester() .givenReducer(reducer, []) .whenActionIsDispatched(addMetric(firstAggregation.id)) .thenStateShouldEqual([firstAggregation]) @@ -46,7 +52,7 @@ describe('Metric Aggregations Reducer', () => { type: 'count', }; - reducerTester() + reducerTester() .givenReducer(reducer, [firstAggregation, secondAggregation]) .whenActionIsDispatched(removeMetric(firstAggregation.id)) .thenStateShouldEqual([secondAggregation]); @@ -55,7 +61,7 @@ describe('Metric Aggregations Reducer', () => { it('Should insert a default aggregation when the last one is removed', () => { const initialState: MetricAggregation[] = [{ id: '2', type: 'avg' }]; - reducerTester() + reducerTester() .givenReducer(reducer, initialState) .whenActionIsDispatched(removeMetric(initialState[0].id)) .thenStateShouldEqual([defaultMetricAgg()]); @@ -75,7 +81,7 @@ describe('Metric Aggregations Reducer', () => { const expectedSecondAggregation: MetricAggregation = { ...secondAggregation, type: 'avg' }; - reducerTester() + reducerTester() .givenReducer(reducer, [firstAggregation, secondAggregation]) .whenActionIsDispatched(changeMetricType({ id: secondAggregation.id, type: expectedSecondAggregation.type })) .thenStateShouldEqual([firstAggregation, { ...secondAggregation, type: expectedSecondAggregation.type }]); @@ -97,7 +103,7 @@ describe('Metric Aggregations Reducer', () => { ...metricAggregationConfig['raw_data'].defaults, }; - reducerTester() + reducerTester() .givenReducer(reducer, [firstAggregation, secondAggregation]) .whenActionIsDispatched(changeMetricType({ id: secondAggregation.id, type: expectedAggregation.type })) .thenStateShouldEqual([expectedAggregation]); @@ -125,7 +131,7 @@ describe('Metric Aggregations Reducer', () => { field: 'new field', }; - reducerTester() + reducerTester() .givenReducer(reducer, [firstAggregation, secondAggregation]) // When changing a a pipelineAggregation field we set both pipelineAgg and field .whenActionIsDispatched(changeMetricField({ id: secondAggregation.id, field: expectedSecondAggregation.field })) @@ -146,7 +152,7 @@ describe('Metric Aggregations Reducer', () => { type: 'count', }; - reducerTester() + reducerTester() .givenReducer(reducer, [firstAggregation, secondAggregation]) .whenActionIsDispatched(toggleMetricVisibility(firstAggregation.id)) .thenStateShouldEqual([{ ...firstAggregation, hide: true }, secondAggregation]) @@ -171,7 +177,7 @@ describe('Metric Aggregations Reducer', () => { unit: 'Changed unit', }; - reducerTester() + reducerTester() .givenReducer(reducer, [firstAggregation, secondAggregation]) .whenActionIsDispatched( changeMetricSetting({ metric: firstAggregation, settingName: 'unit', newValue: expectedSettings.unit! }) @@ -196,7 +202,7 @@ describe('Metric Aggregations Reducer', () => { avg: false, }; - reducerTester() + reducerTester() .givenReducer(reducer, [firstAggregation, secondAggregation]) .whenActionIsDispatched(changeMetricMeta({ metric: firstAggregation, meta: 'avg', newValue: expectedMeta.avg! })) .thenStateShouldEqual([{ ...firstAggregation, meta: expectedMeta }, secondAggregation]); @@ -214,7 +220,7 @@ describe('Metric Aggregations Reducer', () => { const expectedHide: (typeof firstAggregation)['hide'] = false; - reducerTester() + reducerTester() .givenReducer(reducer, [firstAggregation, secondAggregation]) .whenActionIsDispatched( changeMetricAttribute({ metric: firstAggregation, attribute: 'hide', newValue: expectedHide }) @@ -230,14 +236,14 @@ describe('Metric Aggregations Reducer', () => { }, ]; - reducerTester() + reducerTester() .givenReducer(reducer, initialState) .whenActionIsDispatched({ type: 'THIS ACTION SHOULD NOT HAVE ANY EFFECT IN THIS REDUCER' }) .thenStateShouldEqual(initialState); }); it('Should correctly initialize first Metric Aggregation', () => { - reducerTester() + reducerTester() .givenReducer(reducer, []) .whenActionIsDispatched(initQuery()) .thenStateShouldEqual([defaultMetricAgg('1')]); diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/state/reducer.ts b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/state/reducer.ts index a1b8fcb860a..d44a57569f7 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/state/reducer.ts +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/state/reducer.ts @@ -1,7 +1,8 @@ import { Action } from '@reduxjs/toolkit'; +import { ElasticsearchDataQuery, MetricAggregation } from 'app/plugins/datasource/elasticsearch/dataquery.gen'; + import { defaultMetricAgg } from '../../../../queryDef'; -import { ElasticsearchQuery, MetricAggregation } from '../../../../types'; import { removeEmpty } from '../../../../utils'; import { initQuery } from '../../state'; import { isMetricAggregationWithMeta, isMetricAggregationWithSettings, isPipelineAggregation } from '../aggregations'; @@ -18,7 +19,10 @@ import { toggleMetricVisibility, } from './actions'; -export const reducer = (state: ElasticsearchQuery['metrics'], action: Action): ElasticsearchQuery['metrics'] => { +export const reducer = ( + state: ElasticsearchDataQuery['metrics'], + action: Action +): ElasticsearchDataQuery['metrics'] => { if (addMetric.match(action)) { return [...state!, defaultMetricAgg(action.payload)]; } diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/utils.ts b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/utils.ts index ad27d6aebea..05118baeb45 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/utils.ts +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/MetricAggregationsEditor/utils.ts @@ -1,4 +1,5 @@ -import { MetricsConfiguration, MetricAggregation, PipelineMetricAggregationType } from '../../../types'; +import { PipelineMetricAggregationType, MetricAggregation } from '../../../dataquery.gen'; +import { MetricsConfiguration } from '../../../types'; import { defaultPipelineVariable, diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/QueryEditorSpecialMetricRow.tsx b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/QueryEditorSpecialMetricRow.tsx index ccd8ba1ffe4..4dec4ab7571 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/QueryEditorSpecialMetricRow.tsx +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/QueryEditorSpecialMetricRow.tsx @@ -1,6 +1,6 @@ import { InlineFieldRow, InlineLabel, InlineSegmentGroup } from '@grafana/ui'; -import { MetricAggregation } from '../../types'; +import { MetricAggregation } from '../../dataquery.gen'; import { SettingsEditor } from './MetricAggregationsEditor/SettingsEditor'; diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/QueryTypeSelector.tsx b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/QueryTypeSelector.tsx index 695237f706f..bdfd1336d8b 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/QueryTypeSelector.tsx +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/QueryTypeSelector.tsx @@ -1,8 +1,9 @@ import { SelectableValue } from '@grafana/data'; import { RadioButtonGroup } from '@grafana/ui'; +import { MetricAggregation } from '../../dataquery.gen'; import { useDispatch } from '../../hooks/useStatelessReducer'; -import { MetricAggregation, QueryType } from '../../types'; +import { QueryType } from '../../types'; import { useQuery } from './ElasticsearchQueryContext'; import { changeMetricType } from './MetricAggregationsEditor/state/actions'; diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/index.test.tsx b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/index.test.tsx index 0a5f34abba5..580496f0a27 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/index.test.tsx +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/index.test.tsx @@ -1,7 +1,7 @@ import { fireEvent, render, screen } from '@testing-library/react'; +import { ElasticsearchDataQuery } from '../../dataquery.gen'; import { ElasticDatasource } from '../../datasource'; -import { ElasticsearchQuery } from '../../types'; import { QueryEditor } from '.'; @@ -14,7 +14,7 @@ describe('QueryEditor', () => { describe('Alias Field', () => { it('Should correctly render and trigger changes on blur', () => { const alias = '{{metric}}'; - const query: ElasticsearchQuery = { + const query: ElasticsearchDataQuery = { refId: 'A', query: '', alias, @@ -32,7 +32,7 @@ describe('QueryEditor', () => { ], }; - const onChange = jest.fn(); + const onChange = jest.fn(); render(); @@ -56,7 +56,7 @@ describe('QueryEditor', () => { }); it('Should not be shown if last bucket aggregation is not Date Histogram', () => { - const query: ElasticsearchQuery = { + const query: ElasticsearchDataQuery = { refId: 'A', query: '', metrics: [ @@ -74,7 +74,7 @@ describe('QueryEditor', () => { }); it('Should be shown if last bucket aggregation is Date Histogram', () => { - const query: ElasticsearchQuery = { + const query: ElasticsearchDataQuery = { refId: 'A', query: '', metrics: [ @@ -93,7 +93,7 @@ describe('QueryEditor', () => { }); it('Should NOT show Bucket Aggregations Editor if query contains a "singleMetric" metric', () => { - const query: ElasticsearchQuery = { + const query: ElasticsearchDataQuery = { refId: 'A', query: '', metrics: [ @@ -112,7 +112,7 @@ describe('QueryEditor', () => { }); it('Should show Bucket Aggregations Editor if query does NOT contains a "singleMetric" metric', () => { - const query: ElasticsearchQuery = { + const query: ElasticsearchDataQuery = { refId: 'A', query: '', metrics: [ diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/index.tsx b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/index.tsx index 6eebd6e843a..927ef6aa544 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/index.tsx +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/index.tsx @@ -5,10 +5,11 @@ import { SemVer } from 'semver'; import { getDefaultTimeRange, GrafanaTheme2, QueryEditorProps } from '@grafana/data'; import { Alert, InlineField, InlineLabel, Input, QueryField, useStyles2 } from '@grafana/ui'; +import { ElasticsearchDataQuery } from '../../dataquery.gen'; import { ElasticDatasource } from '../../datasource'; import { useNextId } from '../../hooks/useNextId'; import { useDispatch } from '../../hooks/useStatelessReducer'; -import { ElasticsearchOptions, ElasticsearchQuery } from '../../types'; +import { ElasticsearchOptions } from '../../types'; import { isSupportedVersion, isTimeSeriesQuery, unsupportedVersionMessage } from '../../utils'; import { BucketAggregationsEditor } from './BucketAggregationsEditor'; @@ -18,7 +19,7 @@ import { metricAggregationConfig } from './MetricAggregationsEditor/utils'; import { QueryTypeSelector } from './QueryTypeSelector'; import { changeAliasPattern, changeQuery } from './state'; -export type ElasticQueryEditorProps = QueryEditorProps; +export type ElasticQueryEditorProps = QueryEditorProps; // a react hook that returns the elasticsearch database version, // or `null`, while loading, or if it is not possible to determine the value. @@ -74,7 +75,7 @@ const getStyles = (theme: GrafanaTheme2) => ({ }); interface Props { - value: ElasticsearchQuery; + value: ElasticsearchDataQuery; } export const ElasticSearchQueryField = ({ value, onChange }: { value?: string; onChange: (v: string) => void }) => { diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/state.test.ts b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/state.test.ts index 987551baf51..cad89cd32a7 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/state.test.ts +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/state.test.ts @@ -1,4 +1,4 @@ -import { ElasticsearchQuery } from '../../types'; +import { ElasticsearchDataQuery } from '../../dataquery.gen'; import { reducerTester } from '../reducerTester'; import { aliasPatternReducer, changeAliasPattern, changeQuery, initQuery, queryReducer } from './state'; @@ -6,19 +6,19 @@ import { aliasPatternReducer, changeAliasPattern, changeQuery, initQuery, queryR describe('Query Reducer', () => { describe('On Init', () => { it('Should maintain the previous `query` if present', () => { - const initialQuery: ElasticsearchQuery['query'] = 'Some lucene query'; + const initialQuery: ElasticsearchDataQuery['query'] = 'Some lucene query'; - reducerTester() + reducerTester() .givenReducer(queryReducer, initialQuery) .whenActionIsDispatched(initQuery()) .thenStateShouldEqual(initialQuery); }); it('Should set an empty `query` if it is not already set', () => { - const initialQuery: ElasticsearchQuery['query'] = undefined; + const initialQuery: ElasticsearchDataQuery['query'] = undefined; const expectedQuery = ''; - reducerTester() + reducerTester() .givenReducer(queryReducer, initialQuery) .whenActionIsDispatched(initQuery()) .thenStateShouldEqual(expectedQuery); @@ -26,18 +26,18 @@ describe('Query Reducer', () => { }); it('Should correctly set `query`', () => { - const expectedQuery: ElasticsearchQuery['query'] = 'Some lucene query'; + const expectedQuery: ElasticsearchDataQuery['query'] = 'Some lucene query'; - reducerTester() + reducerTester() .givenReducer(queryReducer, '') .whenActionIsDispatched(changeQuery(expectedQuery)) .thenStateShouldEqual(expectedQuery); }); it('Should not change state with other action types', () => { - const initialState: ElasticsearchQuery['query'] = 'Some lucene query'; + const initialState: ElasticsearchDataQuery['query'] = 'Some lucene query'; - reducerTester() + reducerTester() .givenReducer(queryReducer, initialState) .whenActionIsDispatched({ type: 'THIS ACTION SHOULD NOT HAVE ANY EFFECT IN THIS REDUCER' }) .thenStateShouldEqual(initialState); @@ -46,18 +46,18 @@ describe('Query Reducer', () => { describe('Alias Pattern Reducer', () => { it('Should correctly set `alias`', () => { - const expectedAlias: ElasticsearchQuery['alias'] = 'Some alias pattern'; + const expectedAlias: ElasticsearchDataQuery['alias'] = 'Some alias pattern'; - reducerTester() + reducerTester() .givenReducer(aliasPatternReducer, '') .whenActionIsDispatched(changeAliasPattern(expectedAlias)) .thenStateShouldEqual(expectedAlias); }); it('Should not change state with other action types', () => { - const initialState: ElasticsearchQuery['alias'] = 'Some alias pattern'; + const initialState: ElasticsearchDataQuery['alias'] = 'Some alias pattern'; - reducerTester() + reducerTester() .givenReducer(aliasPatternReducer, initialState) .whenActionIsDispatched({ type: 'THIS ACTION SHOULD NOT HAVE ANY EFFECT IN THIS REDUCER' }) .thenStateShouldEqual(initialState); diff --git a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/state.ts b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/state.ts index 98182f056d6..4785e371642 100644 --- a/public/app/plugins/datasource/elasticsearch/components/QueryEditor/state.ts +++ b/public/app/plugins/datasource/elasticsearch/components/QueryEditor/state.ts @@ -1,6 +1,6 @@ import { Action, createAction } from '@reduxjs/toolkit'; -import { ElasticsearchQuery } from '../../types'; +import { ElasticsearchDataQuery } from '../../dataquery.gen'; /** * When the `initQuery` Action is dispatched, the query gets populated with default values where values are not present. @@ -8,11 +8,11 @@ import { ElasticsearchQuery } from '../../types'; */ export const initQuery = createAction('init'); -export const changeQuery = createAction('change_query'); +export const changeQuery = createAction('change_query'); -export const changeAliasPattern = createAction('change_alias_pattern'); +export const changeAliasPattern = createAction('change_alias_pattern'); -export const queryReducer = (prevQuery: ElasticsearchQuery['query'], action: Action) => { +export const queryReducer = (prevQuery: ElasticsearchDataQuery['query'], action: Action) => { if (changeQuery.match(action)) { return action.payload; } @@ -24,7 +24,7 @@ export const queryReducer = (prevQuery: ElasticsearchQuery['query'], action: Act return prevQuery; }; -export const aliasPatternReducer = (prevAliasPattern: ElasticsearchQuery['alias'], action: Action) => { +export const aliasPatternReducer = (prevAliasPattern: ElasticsearchDataQuery['alias'], action: Action) => { if (changeAliasPattern.match(action)) { return action.payload; } diff --git a/public/app/plugins/datasource/elasticsearch/datasource.test.ts b/public/app/plugins/datasource/elasticsearch/datasource.test.ts index f80d969bfb0..33c3486bd31 100644 --- a/public/app/plugins/datasource/elasticsearch/datasource.test.ts +++ b/public/app/plugins/datasource/elasticsearch/datasource.test.ts @@ -14,9 +14,9 @@ import { } from '@grafana/data'; import { FetchResponse, reportInteraction, getBackendSrv, setBackendSrv, BackendSrv, config } from '@grafana/runtime'; +import { ElasticsearchDataQuery, Filters } from './dataquery.gen'; import { ElasticDatasource } from './datasource'; import { createElasticDatasource, createElasticQuery, mockResponseFrames } from './mocks'; -import { Filters, ElasticsearchQuery } from './types'; const originalConsoleError = console.error; jest.mock('@grafana/runtime', () => ({ @@ -270,7 +270,7 @@ describe('ElasticDatasource', () => { refId: 'A', metrics: [{ type: 'logs', id: '1' }], query: 'foo="bar"', - } as ElasticsearchQuery, + } as ElasticsearchDataQuery, ], app: CoreApp.Explore, }; @@ -299,7 +299,7 @@ describe('ElasticDatasource', () => { refId: 'A', metrics: [{ type: 'raw_data', id: '1' }], query: 'foo="bar"', - } as ElasticsearchQuery, + } as ElasticsearchDataQuery, ], app: CoreApp.Explore, }; @@ -328,7 +328,7 @@ describe('ElasticDatasource', () => { refId: 'A', metrics: [{ type: 'raw_data', id: '1' }], query: 'foo="bar"', - } as ElasticsearchQuery, + } as ElasticsearchDataQuery, ], app: CoreApp.Dashboard, }; @@ -342,7 +342,7 @@ describe('ElasticDatasource', () => { describe('interpolateVariablesInQueries', () => { it('should correctly interpolate variables in query', () => { - const query: ElasticsearchQuery = { + const query: ElasticsearchDataQuery = { refId: 'A', bucketAggs: [{ type: 'filters', settings: { filters: [{ query: '$var', label: '' }] }, id: '1' }], metrics: [{ type: 'count', id: '1' }], @@ -356,7 +356,7 @@ describe('ElasticDatasource', () => { it('should correctly add ad hoc filters when interpolating variables in query', () => { const adHocFilters = [{ key: 'bar', operator: '=', value: 'test' }]; - const query: ElasticsearchQuery = { + const query: ElasticsearchDataQuery = { refId: 'A', bucketAggs: [{ type: 'filters', settings: { filters: [{ query: '$var', label: '' }] }, id: '1' }], metrics: [{ type: 'count', id: '1' }], @@ -368,7 +368,7 @@ describe('ElasticDatasource', () => { }); it('should correctly handle empty query strings in filters bucket aggregation', () => { - const query: ElasticsearchQuery = { + const query: ElasticsearchDataQuery = { refId: 'A', bucketAggs: [{ type: 'filters', settings: { filters: [{ query: '', label: '' }] }, id: '1' }], metrics: [{ type: 'count', id: '1' }], @@ -491,7 +491,7 @@ describe('ElasticDatasource', () => { describe('getDataProvider', () => { it('does not create a logs sample provider for non time series query', () => { - const options: DataQueryRequest = { + const options: DataQueryRequest = { ...dataQueryDefaults, targets: [ { @@ -505,7 +505,7 @@ describe('ElasticDatasource', () => { }); it('does not create a logs volume provider for hidden queries', () => { - const options: DataQueryRequest = { + const options: DataQueryRequest = { ...dataQueryDefaults, targets: [ { @@ -520,7 +520,7 @@ describe('ElasticDatasource', () => { }); it('does create a logs sample provider for time series query', () => { - const options: DataQueryRequest = { + const options: DataQueryRequest = { ...dataQueryDefaults, targets: [ { @@ -536,7 +536,7 @@ describe('ElasticDatasource', () => { describe('getLogsSampleDataProvider', () => { it("doesn't return a logs sample provider given a non time series query", () => { - const request: DataQueryRequest = { + const request: DataQueryRequest = { ...dataQueryDefaults, targets: [ { @@ -550,7 +550,7 @@ describe('ElasticDatasource', () => { }); it('returns a logs sample provider given a time series query', () => { - const request: DataQueryRequest = { + const request: DataQueryRequest = { ...dataQueryDefaults, targets: [ { @@ -577,7 +577,7 @@ describe('ElasticDatasource', () => { }); describe('modifyQuery', () => { - let query: ElasticsearchQuery; + let query: ElasticsearchDataQuery; beforeEach(() => { query = { query: '', refId: 'A' }; }); @@ -603,7 +603,7 @@ describe('ElasticDatasource', () => { }); describe('with non-empty query', () => { - let query: ElasticsearchQuery; + let query: ElasticsearchDataQuery; beforeEach(() => { query = { query: 'test:"value"', refId: 'A' }; }); @@ -645,7 +645,7 @@ describe('ElasticDatasource', () => { }); describe('with non-empty query', () => { - let query: ElasticsearchQuery; + let query: ElasticsearchDataQuery; beforeEach(() => { query = { query: 'test:"value"', refId: 'A' }; }); @@ -665,7 +665,7 @@ describe('ElasticDatasource', () => { describe('toggleQueryFilter', () => { describe('with empty query', () => { - let query: ElasticsearchQuery; + let query: ElasticsearchDataQuery; beforeEach(() => { query = { query: '', refId: 'A' }; }); @@ -698,7 +698,7 @@ describe('ElasticDatasource', () => { }); describe('with non-empty query', () => { - let query: ElasticsearchQuery; + let query: ElasticsearchDataQuery; beforeEach(() => { query = { query: 'test:"value"', refId: 'A' }; }); @@ -844,7 +844,7 @@ describe('ElasticDatasource', () => { }); describe('targetContainsTemplate', () => { - let target: ElasticsearchQuery; + let target: ElasticsearchDataQuery; beforeEach(() => { target = { refId: 'test', diff --git a/public/app/plugins/datasource/elasticsearch/datasource.ts b/public/app/plugins/datasource/elasticsearch/datasource.ts index bccb678babf..af5bbbd6114 100644 --- a/public/app/plugins/datasource/elasticsearch/datasource.ts +++ b/public/app/plugins/datasource/elasticsearch/datasource.ts @@ -60,6 +60,7 @@ import { isPipelineAggregationWithMultipleBucketPaths, } from './components/QueryEditor/MetricAggregationsEditor/aggregations'; import { metricAggregationConfig } from './components/QueryEditor/MetricAggregationsEditor/utils'; +import { ElasticsearchDataQuery, BucketAggregation } from './dataquery.gen'; import { isMetricAggregationWithMeta } from './guards'; import { addAddHocFilter, @@ -71,10 +72,8 @@ import { import { trackAnnotationQuery, trackQuery } from './tracking'; import { Logs, - BucketAggregation, DataLinkConfig, ElasticsearchOptions, - ElasticsearchQuery, TermsQuery, Interval, ElasticsearchAnnotationQuery, @@ -103,13 +102,13 @@ const ELASTIC_META_FIELDS = [ ]; export class ElasticDatasource - extends DataSourceWithBackend + extends DataSourceWithBackend implements DataSourceWithLogsContextSupport, - DataSourceWithQueryImportSupport, - DataSourceWithSupplementaryQueriesSupport, - DataSourceWithToggleableQueryFiltersSupport, - DataSourceWithQueryModificationSupport + DataSourceWithQueryImportSupport, + DataSourceWithSupplementaryQueriesSupport, + DataSourceWithToggleableQueryFiltersSupport, + DataSourceWithQueryModificationSupport { basicAuth?: string; withCredentials?: boolean; @@ -182,7 +181,7 @@ export class ElasticDatasource * Imports queries from AbstractQuery objects when switching between different data source types. * @returns A Promise that resolves to an array of ES queries. */ - async importFromAbstractQueries(abstractQueries: AbstractQuery[]): Promise { + async importFromAbstractQueries(abstractQueries: AbstractQuery[]): Promise { return abstractQueries.map((abstractQuery) => this.languageProvider.importFromAbstractQuery(abstractQuery)); } @@ -434,10 +433,10 @@ export class ElasticDatasource * @returns An array of ES queries with interpolated variables and ad hoc filters using `applyTemplateVariables`. */ interpolateVariablesInQueries( - queries: ElasticsearchQuery[], + queries: ElasticsearchDataQuery[], scopedVars: ScopedVars, filters?: AdHocVariableFilter[] - ): ElasticsearchQuery[] { + ): ElasticsearchDataQuery[] { return queries.map((q) => this.applyTemplateVariables(q, scopedVars, filters)); } @@ -457,7 +456,7 @@ export class ElasticDatasource * Used, for example, in Query history. * @returns A text representation of the query. */ - getQueryDisplayText(query: ElasticsearchQuery) { + getQueryDisplayText(query: ElasticsearchDataQuery) { // TODO: This might be refactored a bit. const metricAggs = query.metrics; const bucketAggs = query.bucketAggs; @@ -535,8 +534,8 @@ export class ElasticDatasource */ getSupplementaryRequest( type: SupplementaryQueryType, - request: DataQueryRequest - ): DataQueryRequest | undefined { + request: DataQueryRequest + ): DataQueryRequest | undefined { switch (type) { case SupplementaryQueryType.LogsVolume: return this.getLogsVolumeDataProvider(request); @@ -561,7 +560,10 @@ export class ElasticDatasource * It retrieves supplementary queries based on the provided options and ES query. * @returns A supplemented ES query or undefined if unsupported. */ - getSupplementaryQuery(options: SupplementaryQueryOptions, query: ElasticsearchQuery): ElasticsearchQuery | undefined { + getSupplementaryQuery( + options: SupplementaryQueryOptions, + query: ElasticsearchDataQuery + ): ElasticsearchDataQuery | undefined { let isQuerySuitable = false; if (query.hide) { @@ -642,12 +644,12 @@ export class ElasticDatasource * @returns An Observable of DataQueryResponse or undefined if no suitable queries are found. */ private getLogsVolumeDataProvider( - request: DataQueryRequest - ): DataQueryRequest | undefined { + request: DataQueryRequest + ): DataQueryRequest | undefined { const logsVolumeRequest = cloneDeep(request); const targets = logsVolumeRequest.targets .map((target) => this.getSupplementaryQuery({ type: SupplementaryQueryType.LogsVolume }, target)) - .filter((query): query is ElasticsearchQuery => !!query); + .filter((query): query is ElasticsearchDataQuery => !!query); if (!targets.length) { return undefined; @@ -661,14 +663,14 @@ export class ElasticDatasource * @returns An Observable of DataQueryResponse or undefined if no suitable queries are found. */ private getLogsSampleDataProvider( - request: DataQueryRequest - ): DataQueryRequest | undefined { + request: DataQueryRequest + ): DataQueryRequest | undefined { const logsSampleRequest = cloneDeep(request); const targets = logsSampleRequest.targets; const queries = targets.map((query) => { return this.getSupplementaryQuery({ type: SupplementaryQueryType.LogsSample, limit: 100 }, query); }); - const elasticQueries = queries.filter((query): query is ElasticsearchQuery => !!query); + const elasticQueries = queries.filter((query): query is ElasticsearchDataQuery => !!query); if (!elasticQueries.length) { return undefined; @@ -680,7 +682,7 @@ export class ElasticDatasource * Required by DataSourceApi. It executes queries based on the provided DataQueryRequest. * @returns An Observable of DataQueryResponse containing the query results. */ - query(request: DataQueryRequest): Observable { + query(request: DataQueryRequest): Observable { const start = new Date(); return super.query(request).pipe( tap((response) => trackQuery(response, request, start)), @@ -698,7 +700,7 @@ export class ElasticDatasource * It is called from DatasourceWithBackend. * @returns `true` if the query is not hidden. */ - filterQuery(query: ElasticsearchQuery): boolean { + filterQuery(query: ElasticsearchDataQuery): boolean { if (query.hide) { return false; } @@ -952,7 +954,7 @@ export class ElasticDatasource * Implemented as part of the DataSourceAPI. Retrieves tag values that can be used for ad-hoc filtering. * @returns A Promise that resolves to an array of label values represented as MetricFindValue objects */ - getTagValues(options: DataSourceGetTagValuesOptions) { + getTagValues(options: DataSourceGetTagValuesOptions) { return lastValueFrom(this.getTerms({ field: options.key }, options.timeRange, true)); } @@ -960,7 +962,7 @@ export class ElasticDatasource * Implemented as part of the DataSourceAPI. * Used by alerting to check if query contains template variables. */ - targetContainsTemplate(target: ElasticsearchQuery) { + targetContainsTemplate(target: ElasticsearchDataQuery) { if (this.templateSrv.containsTemplate(target.query) || this.templateSrv.containsTemplate(target.alias)) { return true; } @@ -1025,7 +1027,7 @@ export class ElasticDatasource * It is used for example in Explore to toggle fields on and off trough log details. * @returns A new ES query with the filter toggled as specified. */ - toggleQueryFilter(query: ElasticsearchQuery, filter: ToggleFilterAction): ElasticsearchQuery { + toggleQueryFilter(query: ElasticsearchDataQuery, filter: ToggleFilterAction): ElasticsearchDataQuery { let expression = query.query ?? ''; switch (filter.type) { case 'FILTER_FOR': { @@ -1052,7 +1054,7 @@ export class ElasticDatasource * Implemented for `DataSourceWithToggleableQueryFiltersSupport`. Checks if a query expression contains a filter based on the provided filter options. * @returns A boolean value indicating whether the filter exists in the query expression. */ - queryHasFilter(query: ElasticsearchQuery, options: QueryFilterOptions): boolean { + queryHasFilter(query: ElasticsearchDataQuery, options: QueryFilterOptions): boolean { let expression = query.query ?? ''; return queryHasFilter(expression, options.key, options.value); } @@ -1062,7 +1064,7 @@ export class ElasticDatasource * It is used, for example, in the Query Builder to apply hints such as parsers, operations, etc. * @returns A new ES query with the specified modification applied. */ - modifyQuery(query: ElasticsearchQuery, action: QueryFixAction): ElasticsearchQuery { + modifyQuery(query: ElasticsearchDataQuery, action: QueryFixAction): ElasticsearchDataQuery { if (!action.options) { return query; } @@ -1120,10 +1122,10 @@ export class ElasticDatasource * @returns A modified ES query with template variables and ad hoc filters applied. */ applyTemplateVariables( - query: ElasticsearchQuery, + query: ElasticsearchDataQuery, scopedVars: ScopedVars, filters?: AdHocVariableFilter[] - ): ElasticsearchQuery { + ): ElasticsearchDataQuery { // We need a separate interpolation format for lucene queries, therefore we first interpolate any // lucene query string and then everything else const interpolateBucketAgg = (bucketAgg: BucketAggregation): BucketAggregation => { @@ -1211,7 +1213,7 @@ export class ElasticDatasource }, }; - const query: ElasticsearchQuery = { + const query: ElasticsearchDataQuery = { refId: `log-context-${row.dataFrame.refId}-${direction}`, metrics: [logQuery], query: '', @@ -1226,7 +1228,7 @@ export class ElasticDatasource const interval = rangeUtil.calculateInterval(range, 1); - const contextRequest: DataQueryRequest = { + const contextRequest: DataQueryRequest = { requestId: `log-context-request-${row.dataFrame.refId}-${options?.direction}`, targets: [query], interval: interval.interval, diff --git a/public/app/plugins/datasource/elasticsearch/hooks/useFields.test.tsx b/public/app/plugins/datasource/elasticsearch/hooks/useFields.test.tsx index 5751aa51acd..96b515208e7 100644 --- a/public/app/plugins/datasource/elasticsearch/hooks/useFields.test.tsx +++ b/public/app/plugins/datasource/elasticsearch/hooks/useFields.test.tsx @@ -5,9 +5,9 @@ import { from } from 'rxjs'; import { getDefaultTimeRange } from '@grafana/data'; import { ElasticsearchProvider } from '../components/QueryEditor/ElasticsearchQueryContext'; +import { ElasticsearchDataQuery, BucketAggregationType, MetricAggregationType } from '../dataquery.gen'; import { ElasticDatasource } from '../datasource'; import { defaultBucketAgg, defaultMetricAgg } from '../queryDef'; -import { ElasticsearchQuery, MetricAggregationType, BucketAggregationType } from '../types'; import { useFields } from './useFields'; @@ -16,7 +16,7 @@ describe('useFields hook', () => { // we can stop testing for getField to be called with the correct parameters. it("returns a function that calls datasource's getFields with the correct parameters", async () => { const timeRange = getDefaultTimeRange(); - const query: ElasticsearchQuery = { + const query: ElasticsearchDataQuery = { refId: 'A', query: '', metrics: [defaultMetricAgg()], diff --git a/public/app/plugins/datasource/elasticsearch/hooks/useFields.ts b/public/app/plugins/datasource/elasticsearch/hooks/useFields.ts index df9d1271431..dd37c344fb8 100644 --- a/public/app/plugins/datasource/elasticsearch/hooks/useFields.ts +++ b/public/app/plugins/datasource/elasticsearch/hooks/useFields.ts @@ -5,7 +5,7 @@ import { MetricFindValue, SelectableValue } from '@grafana/data'; import { isBucketAggregationType } from '../components/QueryEditor/BucketAggregationsEditor/aggregations'; import { useDatasource, useRange } from '../components/QueryEditor/ElasticsearchQueryContext'; import { isMetricAggregationType } from '../components/QueryEditor/MetricAggregationsEditor/aggregations'; -import { MetricAggregationType, BucketAggregationType } from '../types'; +import { BucketAggregationType, MetricAggregationType } from '../dataquery.gen'; type AggregationType = BucketAggregationType | MetricAggregationType; diff --git a/public/app/plugins/datasource/elasticsearch/hooks/useNextId.test.tsx b/public/app/plugins/datasource/elasticsearch/hooks/useNextId.test.tsx index e37c4d1e2bc..41b76e753b4 100644 --- a/public/app/plugins/datasource/elasticsearch/hooks/useNextId.test.tsx +++ b/public/app/plugins/datasource/elasticsearch/hooks/useNextId.test.tsx @@ -4,14 +4,14 @@ import { PropsWithChildren } from 'react'; import { getDefaultTimeRange } from '@grafana/data'; import { ElasticsearchProvider } from '../components/QueryEditor/ElasticsearchQueryContext'; +import { ElasticsearchDataQuery } from '../dataquery.gen'; import { ElasticDatasource } from '../datasource'; -import { ElasticsearchQuery } from '../types'; import { useNextId } from './useNextId'; describe('useNextId', () => { it('Should return the next available id', () => { - const query: ElasticsearchQuery = { + const query: ElasticsearchDataQuery = { refId: 'A', query: '', metrics: [{ id: '1', type: 'avg' }], diff --git a/public/app/plugins/datasource/elasticsearch/hooks/useNextId.ts b/public/app/plugins/datasource/elasticsearch/hooks/useNextId.ts index 05bcd970419..758ac477442 100644 --- a/public/app/plugins/datasource/elasticsearch/hooks/useNextId.ts +++ b/public/app/plugins/datasource/elasticsearch/hooks/useNextId.ts @@ -1,7 +1,7 @@ import { useMemo } from 'react'; import { useQuery } from '../components/QueryEditor/ElasticsearchQueryContext'; -import { MetricAggregation, BucketAggregation } from '../types'; +import { MetricAggregation, BucketAggregation } from '../dataquery.gen'; const toId = (e: T): T['id'] => e.id; diff --git a/public/app/plugins/datasource/elasticsearch/mocks.ts b/public/app/plugins/datasource/elasticsearch/mocks.ts index 484a284bc55..e907103c71c 100644 --- a/public/app/plugins/datasource/elasticsearch/mocks.ts +++ b/public/app/plugins/datasource/elasticsearch/mocks.ts @@ -1,8 +1,9 @@ import { CoreApp, DataQueryRequest, DataSourceInstanceSettings, FieldType, PluginType, dateTime } from '@grafana/data'; import { TemplateSrv } from '@grafana/runtime'; +import { ElasticsearchDataQuery } from './dataquery.gen'; import { ElasticDatasource } from './datasource'; -import { ElasticsearchOptions, ElasticsearchQuery } from './types'; +import { ElasticsearchOptions } from './types'; export function createElasticDatasource( settings: Partial>> = {} @@ -63,7 +64,7 @@ export function createElasticDatasource( return new ElasticDatasource(instanceSettings, templateSrv); } -export const createElasticQuery = (): DataQueryRequest => { +export const createElasticQuery = (): DataQueryRequest => { return { requestId: '', interval: '', diff --git a/public/app/plugins/datasource/elasticsearch/module.ts b/public/app/plugins/datasource/elasticsearch/module.ts index d6c0b285eb1..6edac3168d2 100644 --- a/public/app/plugins/datasource/elasticsearch/module.ts +++ b/public/app/plugins/datasource/elasticsearch/module.ts @@ -3,11 +3,11 @@ import { getAppEvents } from '@grafana/runtime'; import { QueryEditor } from './components/QueryEditor'; import { ConfigEditor } from './configuration/ConfigEditor'; +import { ElasticsearchDataQuery } from './dataquery.gen'; import { ElasticDatasource } from './datasource'; import { onDashboardLoadedHandler } from './tracking'; -import { ElasticsearchQuery } from './types'; export const plugin = new DataSourcePlugin(ElasticDatasource).setQueryEditor(QueryEditor).setConfigEditor(ConfigEditor); // Subscribe to on dashboard loaded event so that we can track plugin adoption -getAppEvents().subscribe>(DashboardLoadedEvent, onDashboardLoadedHandler); +getAppEvents().subscribe>(DashboardLoadedEvent, onDashboardLoadedHandler); diff --git a/public/app/plugins/datasource/elasticsearch/queryDef.ts b/public/app/plugins/datasource/elasticsearch/queryDef.ts index 77a8a01b824..c343acec449 100644 --- a/public/app/plugins/datasource/elasticsearch/queryDef.ts +++ b/public/app/plugins/datasource/elasticsearch/queryDef.ts @@ -1,12 +1,12 @@ import { metricAggregationConfig, pipelineOptions } from './components/QueryEditor/MetricAggregationsEditor/utils'; import { - ElasticsearchQuery, + DateHistogram, + ElasticsearchDataQuery, ExtendedStat, MetricAggregation, - MovingAverageModelOption, MetricAggregationType, - DateHistogram, -} from './types'; + MovingAverageModelOption, +} from './dataquery.gen'; export const extendedStats: ExtendedStat[] = [ { label: 'Avg', value: 'avg' }, @@ -45,7 +45,7 @@ export function defaultBucketAgg(id = '1'): DateHistogram { export const findMetricById = (metrics: MetricAggregation[], id: MetricAggregation['id']) => metrics.find((metric) => metric.id === id); -export function hasMetricOfType(target: ElasticsearchQuery, type: MetricAggregationType): boolean { +export function hasMetricOfType(target: ElasticsearchDataQuery, type: MetricAggregationType): boolean { return !!target?.metrics?.some((m) => m.type === type); } diff --git a/public/app/plugins/datasource/elasticsearch/tracking.test.ts b/public/app/plugins/datasource/elasticsearch/tracking.test.ts index 81a86a388af..177c743700d 100644 --- a/public/app/plugins/datasource/elasticsearch/tracking.test.ts +++ b/public/app/plugins/datasource/elasticsearch/tracking.test.ts @@ -1,16 +1,16 @@ import { DashboardLoadedEvent } from '@grafana/data'; import { reportInteraction } from '@grafana/runtime'; +import { ElasticsearchDataQuery } from './dataquery.gen'; import pluginJson from './plugin.json'; import { onDashboardLoadedHandler } from './tracking'; -import { ElasticsearchQuery } from './types'; jest.mock('@grafana/runtime', () => ({ ...jest.requireActual('@grafana/runtime'), reportInteraction: jest.fn(), })); -const targets: ElasticsearchQuery[] = [ +const targets: ElasticsearchDataQuery[] = [ { refId: 'test', alias: '$varAlias', diff --git a/public/app/plugins/datasource/elasticsearch/tracking.ts b/public/app/plugins/datasource/elasticsearch/tracking.ts index 01e3c106dfc..8d98dc15e5d 100644 --- a/public/app/plugins/datasource/elasticsearch/tracking.ts +++ b/public/app/plugins/datasource/elasticsearch/tracking.ts @@ -1,9 +1,10 @@ import { CoreApp, DashboardLoadedEvent, DataQueryRequest, DataQueryResponse } from '@grafana/data'; import { config, reportInteraction } from '@grafana/runtime'; +import { ElasticsearchDataQuery } from './dataquery.gen'; import { REF_ID_STARTER_LOG_VOLUME } from './datasource'; import pluginJson from './plugin.json'; -import { ElasticsearchAnnotationQuery, ElasticsearchQuery } from './types'; +import { ElasticsearchAnnotationQuery } from './types'; import { variableRegex } from './utils'; type ElasticSearchOnDashboardLoadedTrackingEvent = { @@ -38,7 +39,7 @@ type ElasticSearchOnDashboardLoadedTrackingEvent = { export const onDashboardLoadedHandler = ({ payload: { dashboardId, orgId, grafanaVersion, queries }, -}: DashboardLoadedEvent) => { +}: DashboardLoadedEvent) => { try { // We only want to track visible ElasticSearch queries const elasticsearchQueries = queries[pluginJson.id]?.filter((query) => !query.hide); @@ -74,7 +75,7 @@ export const onDashboardLoadedHandler = ({ } }; -const getQueryType = (query: ElasticsearchQuery): string | undefined => { +const getQueryType = (query: ElasticsearchDataQuery): string | undefined => { if (!query.metrics || !query.metrics.length) { return undefined; } @@ -85,7 +86,7 @@ const getQueryType = (query: ElasticsearchQuery): string | undefined => { return 'metric'; }; -const getLineLimit = (query: ElasticsearchQuery): number | undefined => { +const getLineLimit = (query: ElasticsearchDataQuery): number | undefined => { if (query.metrics?.[0]?.type !== 'logs') { return undefined; } @@ -94,12 +95,12 @@ const getLineLimit = (query: ElasticsearchQuery): number | undefined => { return lineLimit ? parseInt(lineLimit, 10) : undefined; }; -const isQueryWithChangedLineLimit = (query: ElasticsearchQuery): boolean => { +const isQueryWithChangedLineLimit = (query: ElasticsearchDataQuery): boolean => { const lineLimit = getLineLimit(query); return lineLimit !== undefined && lineLimit !== 500; }; -const isQueryWithTemplateVariables = (query: ElasticsearchQuery): boolean => { +const isQueryWithTemplateVariables = (query: ElasticsearchDataQuery): boolean => { return variableRegex.test(query.query ?? ''); }; @@ -112,7 +113,7 @@ const shouldNotReportBasedOnRefId = (refId: string): boolean => { export function trackQuery( response: DataQueryResponse, - request: DataQueryRequest & { targets: ElasticsearchQuery[] }, + request: DataQueryRequest & { targets: ElasticsearchDataQuery[] }, startTime: Date ): void { const { targets: queries, app } = request; diff --git a/public/app/plugins/datasource/elasticsearch/types.ts b/public/app/plugins/datasource/elasticsearch/types.ts index 635fa81e2c7..b48ab801ae8 100644 --- a/public/app/plugins/datasource/elasticsearch/types.ts +++ b/public/app/plugins/datasource/elasticsearch/types.ts @@ -18,9 +18,6 @@ import { ElasticsearchDataQuery, } from './dataquery.gen'; -export * from './dataquery.gen'; -export type { ElasticsearchDataQuery as ElasticsearchQuery } from './dataquery.gen'; - // We want to extend the settings of the Logs query with additional properties that // are not part of the schema. This is a workaround, because exporting LogsSettings // from dataquery.gen.ts and extending that produces error in SettingKeyOf. diff --git a/public/app/plugins/datasource/elasticsearch/utils.test.ts b/public/app/plugins/datasource/elasticsearch/utils.test.ts index 731efa9aefe..17a96c97fbc 100644 --- a/public/app/plugins/datasource/elasticsearch/utils.test.ts +++ b/public/app/plugins/datasource/elasticsearch/utils.test.ts @@ -1,4 +1,4 @@ -import { ElasticsearchQuery } from './types'; +import { ElasticsearchDataQuery } from './dataquery.gen'; import { flattenObject, isTimeSeriesQuery, removeEmpty } from './utils'; describe('removeEmpty', () => { @@ -38,7 +38,7 @@ describe('removeEmpty', () => { describe('isTimeSeriesQuery', () => { it('should return false when given a log query', () => { - const logsQuery: ElasticsearchQuery = { + const logsQuery: ElasticsearchDataQuery = { refId: `A`, metrics: [{ type: 'logs', id: '1' }], }; @@ -47,7 +47,7 @@ describe('isTimeSeriesQuery', () => { }); it('should return false when bucket aggs are empty', () => { - const query: ElasticsearchQuery = { + const query: ElasticsearchDataQuery = { refId: `A`, bucketAggs: [], }; @@ -56,7 +56,7 @@ describe('isTimeSeriesQuery', () => { }); it('returns false when empty date_histogram is not last', () => { - const query: ElasticsearchQuery = { + const query: ElasticsearchDataQuery = { refId: `A`, bucketAggs: [ { id: '1', type: 'date_histogram' }, @@ -68,7 +68,7 @@ describe('isTimeSeriesQuery', () => { }); it('returns true when empty date_histogram is last', () => { - const query: ElasticsearchQuery = { + const query: ElasticsearchDataQuery = { refId: `A`, bucketAggs: [ { id: '1', type: 'terms' }, diff --git a/public/app/plugins/datasource/elasticsearch/utils.ts b/public/app/plugins/datasource/elasticsearch/utils.ts index 1ca679734cf..74427d746ba 100644 --- a/public/app/plugins/datasource/elasticsearch/utils.ts +++ b/public/app/plugins/datasource/elasticsearch/utils.ts @@ -2,7 +2,7 @@ import { gte, SemVer } from 'semver'; import { isMetricAggregationWithField } from './components/QueryEditor/MetricAggregationsEditor/aggregations'; import { metricAggregationConfig } from './components/QueryEditor/MetricAggregationsEditor/utils'; -import { ElasticsearchQuery, MetricAggregation, MetricAggregationWithInlineScript } from './types'; +import { ElasticsearchDataQuery, MetricAggregation, MetricAggregationWithInlineScript } from './dataquery.gen'; export const describeMetric = (metric: MetricAggregation) => { if (!isMetricAggregationWithField(metric)) { @@ -103,7 +103,7 @@ export const unsupportedVersionMessage = 'Support for Elasticsearch versions after their end-of-life (currently versions < 7.16) was removed. Using unsupported version of Elasticsearch may lead to unexpected and incorrect results.'; // To be considered a time series query, the last bucked aggregation must be a Date Histogram -export const isTimeSeriesQuery = (query: ElasticsearchQuery): boolean => { +export const isTimeSeriesQuery = (query: ElasticsearchDataQuery): boolean => { return query?.bucketAggs?.slice(-1)[0]?.type === 'date_histogram'; }; diff --git a/public/app/plugins/datasource/grafana-testdata-datasource/QueryEditor.tsx b/public/app/plugins/datasource/grafana-testdata-datasource/QueryEditor.tsx index 95b67bf1f0c..3fc5d4b84c2 100644 --- a/public/app/plugins/datasource/grafana-testdata-datasource/QueryEditor.tsx +++ b/public/app/plugins/datasource/grafana-testdata-datasource/QueryEditor.tsx @@ -5,7 +5,6 @@ import { QueryEditorProps, SelectableValue } from '@grafana/data'; import { selectors as editorSelectors } from '@grafana/e2e-selectors'; import { InlineField, InlineFieldRow, InlineSwitch, Input, Select, Icon, TextArea } from '@grafana/ui'; -import { RandomWalkEditor, StreamingClientEditor } from './components'; import { CSVContentEditor } from './components/CSVContentEditor'; import { CSVFileEditor } from './components/CSVFileEditor'; import { CSVWavesEditor } from './components/CSVWaveEditor'; @@ -14,8 +13,10 @@ import ErrorWithSourceQueryEditor from './components/ErrorWithSourceEditor'; import { GrafanaLiveEditor } from './components/GrafanaLiveEditor'; import { NodeGraphEditor } from './components/NodeGraphEditor'; import { PredictablePulseEditor } from './components/PredictablePulseEditor'; +import { RandomWalkEditor } from './components/RandomWalkEditor'; import { RawFrameEditor } from './components/RawFrameEditor'; import { SimulationQueryEditor } from './components/SimulationQueryEditor'; +import { StreamingClientEditor } from './components/StreamingClientEditor'; import { USAQueryEditor, usaQueryModes } from './components/USAQueryEditor'; import { defaultCSVWaveQuery, defaultPulseQuery, defaultQuery } from './constants'; import { CSVWave, NodesQuery, TestDataDataQuery, TestDataQueryType, USAQuery } from './dataquery'; diff --git a/public/app/plugins/datasource/grafana-testdata-datasource/components/index.ts b/public/app/plugins/datasource/grafana-testdata-datasource/components/index.ts deleted file mode 100644 index 66ff3418758..00000000000 --- a/public/app/plugins/datasource/grafana-testdata-datasource/components/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export { StreamingClientEditor } from './StreamingClientEditor'; -export { RandomWalkEditor } from './RandomWalkEditor'; diff --git a/public/app/plugins/datasource/grafana/components/QueryEditor.tsx b/public/app/plugins/datasource/grafana/components/QueryEditor.tsx index 9b1a9918edf..8f799c3e35a 100644 --- a/public/app/plugins/datasource/grafana/components/QueryEditor.tsx +++ b/public/app/plugins/datasource/grafana/components/QueryEditor.tsx @@ -32,7 +32,8 @@ import { Stack, } from '@grafana/ui'; import { hasAlphaPanels } from 'app/core/config'; -import * as DFImport from 'app/features/dataframe-import'; +import { acceptedFiles, maxFileSize } from 'app/features/dataframe-import/constants'; +import { filesToDataframes } from 'app/features/dataframe-import/utils'; import { getManagedChannelInfo } from 'app/features/live/info'; import { SearchQuery } from 'app/features/search/service/types'; @@ -360,7 +361,7 @@ export class UnthemedQueryEditor extends PureComponent { }; onFileDrop = (acceptedFiles: File[], fileRejections: FileRejection[], event: DropEvent) => { - DFImport.filesToDataframes(acceptedFiles).subscribe((next) => { + filesToDataframes(acceptedFiles).subscribe((next) => { const snapshot: DataFrameJSON[] = []; next.dataFrames.forEach((df) => { const dataframeJson = dataFrameToJSON(df); @@ -406,9 +407,9 @@ export class UnthemedQueryEditor extends PureComponent { fileListRenderer={this.fileListRenderer} options={{ onDrop: this.onFileDrop, - maxSize: DFImport.maxFileSize, + maxSize: maxFileSize, multiple: false, - accept: DFImport.acceptedFiles, + accept: acceptedFiles, }} > void ) { return (acceptedFiles: File[], fileRejections: FileRejection[], event: DropEvent) => { - DFImport.filesToDataframes(acceptedFiles).subscribe(async (next) => { + filesToDataframes(acceptedFiles).subscribe(async (next) => { const snapshot: DataFrameJSON[] = []; next.dataFrames.forEach((df: DataFrame) => { const dataframeJson = dataFrameToJSON(df); diff --git a/public/app/plugins/panel/candlestick/fields.ts b/public/app/plugins/panel/candlestick/fields.ts index 29ce56ec079..42fb07732df 100644 --- a/public/app/plugins/panel/candlestick/fields.ts +++ b/public/app/plugins/panel/candlestick/fields.ts @@ -9,7 +9,7 @@ import { } from '@grafana/data'; import { maybeSortFrame } from '@grafana/data/internal'; import { t } from '@grafana/i18n'; -import { findField } from 'app/features/dimensions'; +import { findField } from 'app/features/dimensions/utils'; import { prepareGraphableFields } from '../timeseries/utils'; diff --git a/public/app/plugins/panel/canvas/components/SetBackground.tsx b/public/app/plugins/panel/canvas/components/SetBackground.tsx index 7d33b53df2a..4fea18ad6a5 100644 --- a/public/app/plugins/panel/canvas/components/SetBackground.tsx +++ b/public/app/plugins/panel/canvas/components/SetBackground.tsx @@ -5,8 +5,8 @@ import { GrafanaTheme2 } from '@grafana/data'; import { ResourceDimensionMode } from '@grafana/schema'; import { Portal, useTheme2 } from '@grafana/ui'; import { Scene } from 'app/features/canvas/runtime/scene'; -import { MediaType, ResourceFolderName } from 'app/features/dimensions'; import { ResourcePickerPopover } from 'app/features/dimensions/editors/ResourcePickerPopover'; +import { MediaType, ResourceFolderName } from 'app/features/dimensions/types'; import { AnchorPoint } from '../types'; diff --git a/public/app/plugins/panel/canvas/editor/options.ts b/public/app/plugins/panel/canvas/editor/options.ts index 79420b34187..dd107d010cb 100644 --- a/public/app/plugins/panel/canvas/editor/options.ts +++ b/public/app/plugins/panel/canvas/editor/options.ts @@ -3,8 +3,10 @@ import { PanelOptionsSupplier } from '@grafana/data/internal'; import { t } from '@grafana/i18n'; import { ConnectionDirection } from 'app/features/canvas/element'; import { SVGElements } from 'app/features/canvas/runtime/element'; -import { ColorDimensionEditor, ResourceDimensionEditor, ScaleDimensionEditor } from 'app/features/dimensions/editors'; import { BackgroundSizeEditor } from 'app/features/dimensions/editors/BackgroundSizeEditor'; +import { ColorDimensionEditor } from 'app/features/dimensions/editors/ColorDimensionEditor'; +import { ResourceDimensionEditor } from 'app/features/dimensions/editors/ResourceDimensionEditor'; +import { ScaleDimensionEditor } from 'app/features/dimensions/editors/ScaleDimensionEditor'; import { CanvasConnection, CanvasElementOptions } from '../panelcfg.gen'; import { LineStyle } from '../types'; diff --git a/public/app/plugins/panel/geomap/components/MarkersLegend.tsx b/public/app/plugins/panel/geomap/components/MarkersLegend.tsx index 1a06f88bdfb..cb897193034 100644 --- a/public/app/plugins/panel/geomap/components/MarkersLegend.tsx +++ b/public/app/plugins/panel/geomap/components/MarkersLegend.tsx @@ -17,7 +17,7 @@ import { ColorScale } from 'app/core/components/ColorScale/ColorScale'; import { SanitizedSVG } from 'app/core/components/SVG/SanitizedSVG'; import { getThresholdItems } from 'app/core/components/TimelineChart/utils'; import { config } from 'app/core/config'; -import { DimensionSupplier } from 'app/features/dimensions'; +import { DimensionSupplier } from 'app/features/dimensions/types'; import { StyleConfigState } from '../style/types'; import { MapLayerState } from '../types'; diff --git a/public/app/plugins/panel/geomap/editor/StyleEditor.tsx b/public/app/plugins/panel/geomap/editor/StyleEditor.tsx index fb36d762eb5..c5c55c8de49 100644 --- a/public/app/plugins/panel/geomap/editor/StyleEditor.tsx +++ b/public/app/plugins/panel/geomap/editor/StyleEditor.tsx @@ -23,13 +23,11 @@ import { } from '@grafana/ui'; import { NumberValueEditor } from 'app/core/components/OptionsUI/number'; import { SliderValueEditor } from 'app/core/components/OptionsUI/slider'; -import { - ColorDimensionEditor, - ResourceDimensionEditor, - ScaleDimensionEditor, - ScalarDimensionEditor, - TextDimensionEditor, -} from 'app/features/dimensions/editors'; +import { ColorDimensionEditor } from 'app/features/dimensions/editors/ColorDimensionEditor'; +import { ResourceDimensionEditor } from 'app/features/dimensions/editors/ResourceDimensionEditor'; +import { ScalarDimensionEditor } from 'app/features/dimensions/editors/ScalarDimensionEditor'; +import { ScaleDimensionEditor } from 'app/features/dimensions/editors/ScaleDimensionEditor'; +import { TextDimensionEditor } from 'app/features/dimensions/editors/TextDimensionEditor'; import { ResourceFolderName, defaultTextConfig, MediaType } from 'app/features/dimensions/types'; import { diff --git a/public/app/plugins/panel/geomap/layers/data/geojsonDynamic.ts b/public/app/plugins/panel/geomap/layers/data/geojsonDynamic.ts index 19ee2480669..55f96810eb5 100644 --- a/public/app/plugins/panel/geomap/layers/data/geojsonDynamic.ts +++ b/public/app/plugins/panel/geomap/layers/data/geojsonDynamic.ts @@ -17,7 +17,7 @@ import { EventBus, } from '@grafana/data'; import { ComparisonOperation } from '@grafana/schema'; -import { findField } from 'app/features/dimensions'; +import { findField } from 'app/features/dimensions/utils'; import { StyleEditor } from '../../editor/StyleEditor'; import { polyStyle } from '../../style/markers'; diff --git a/public/app/plugins/panel/geomap/layers/data/heatMap.tsx b/public/app/plugins/panel/geomap/layers/data/heatMap.tsx index 9ac42690507..1ae068fc38a 100644 --- a/public/app/plugins/panel/geomap/layers/data/heatMap.tsx +++ b/public/app/plugins/panel/geomap/layers/data/heatMap.tsx @@ -12,8 +12,8 @@ import { PanelData, } from '@grafana/data'; import { ScaleDimensionConfig } from '@grafana/schema'; -import { getScaledDimension } from 'app/features/dimensions'; -import { ScaleDimensionEditor } from 'app/features/dimensions/editors'; +import { ScaleDimensionEditor } from 'app/features/dimensions/editors/ScaleDimensionEditor'; +import { getScaledDimension } from 'app/features/dimensions/scale'; import { FrameVectorSource } from 'app/features/geo/utils/frameVectorSource'; import { getLocationMatchers } from 'app/features/geo/utils/location'; diff --git a/public/app/plugins/panel/geomap/layers/data/photosLayer.tsx b/public/app/plugins/panel/geomap/layers/data/photosLayer.tsx index ed9a77ce960..2fbe96abb83 100644 --- a/public/app/plugins/panel/geomap/layers/data/photosLayer.tsx +++ b/public/app/plugins/panel/geomap/layers/data/photosLayer.tsx @@ -6,7 +6,7 @@ import Photo from 'ol-ext/style/Photo'; import { MapLayerRegistryItem, PanelData, GrafanaTheme2, EventBus, PluginState, FieldType, Field } from '@grafana/data'; import { FrameGeometrySourceMode, MapLayerOptions } from '@grafana/schema'; -import { findField } from 'app/features/dimensions'; +import { findField } from 'app/features/dimensions/utils'; import { FrameVectorSource } from 'app/features/geo/utils/frameVectorSource'; import { getLocationMatchers } from 'app/features/geo/utils/location'; diff --git a/public/app/plugins/panel/geomap/style/markers.test.ts b/public/app/plugins/panel/geomap/style/markers.test.ts index cd7e5acf452..610df9ebcf4 100644 --- a/public/app/plugins/panel/geomap/style/markers.test.ts +++ b/public/app/plugins/panel/geomap/style/markers.test.ts @@ -1,9 +1,9 @@ -import { getPublicOrAbsoluteUrl } from 'app/features/dimensions'; +import { getPublicOrAbsoluteUrl } from 'app/features/dimensions/resource'; import { getWebGLStyle } from './markers'; // Mock dependencies -jest.mock('app/features/dimensions', () => ({ +jest.mock('app/features/dimensions/resource', () => ({ getPublicOrAbsoluteUrl: jest.fn(), })); diff --git a/public/app/plugins/panel/geomap/style/markers.ts b/public/app/plugins/panel/geomap/style/markers.ts index 04772af1189..b54e3fd54f6 100644 --- a/public/app/plugins/panel/geomap/style/markers.ts +++ b/public/app/plugins/panel/geomap/style/markers.ts @@ -4,7 +4,7 @@ import tinycolor from 'tinycolor2'; import { Registry, RegistryItem, textUtil } from '@grafana/data'; import { config } from '@grafana/runtime'; -import { getPublicOrAbsoluteUrl } from 'app/features/dimensions'; +import { getPublicOrAbsoluteUrl } from 'app/features/dimensions/resource'; import { defaultStyleConfig, DEFAULT_SIZE, StyleConfigValues, StyleMaker } from './types'; import { getDisplacement } from './utils'; diff --git a/public/app/plugins/panel/geomap/style/types.ts b/public/app/plugins/panel/geomap/style/types.ts index a1e7329ee33..72703a90476 100644 --- a/public/app/plugins/panel/geomap/style/types.ts +++ b/public/app/plugins/panel/geomap/style/types.ts @@ -9,7 +9,7 @@ import { ScalarDimensionMode, TextDimensionConfig, } from '@grafana/schema'; -import { DimensionSupplier } from 'app/features/dimensions'; +import { DimensionSupplier } from 'app/features/dimensions/types'; export enum GeometryTypeId { Point = 'point', diff --git a/public/app/plugins/panel/geomap/utils/utils.test.ts b/public/app/plugins/panel/geomap/utils/utils.test.ts index d338233d63c..44995c1857f 100644 --- a/public/app/plugins/panel/geomap/utils/utils.test.ts +++ b/public/app/plugins/panel/geomap/utils/utils.test.ts @@ -15,10 +15,16 @@ jest.mock('@grafana/runtime', () => ({ })); // Mock the dimensions module since it's imported by utils.ts -jest.mock('app/features/dimensions', () => ({ +jest.mock('app/features/dimensions/color', () => ({ getColorDimension: jest.fn(), +})); +jest.mock('app/features/dimensions/scalar', () => ({ getScalarDimension: jest.fn(), +})); +jest.mock('app/features/dimensions/scale', () => ({ getScaledDimension: jest.fn(), +})); +jest.mock('app/features/dimensions/text', () => ({ getTextDimension: jest.fn(), })); diff --git a/public/app/plugins/panel/geomap/utils/utils.ts b/public/app/plugins/panel/geomap/utils/utils.ts index 23426d54db4..721b57abb87 100644 --- a/public/app/plugins/panel/geomap/utils/utils.ts +++ b/public/app/plugins/panel/geomap/utils/utils.ts @@ -15,7 +15,10 @@ import VectorSource from 'ol/source/Vector'; import { DataFrame, GrafanaTheme2, SelectableValue } from '@grafana/data'; import { getTemplateSrv } from '@grafana/runtime'; -import { getColorDimension, getScalarDimension, getScaledDimension, getTextDimension } from 'app/features/dimensions'; +import { getColorDimension } from 'app/features/dimensions/color'; +import { getScalarDimension } from 'app/features/dimensions/scalar'; +import { getScaledDimension } from 'app/features/dimensions/scale'; +import { getTextDimension } from 'app/features/dimensions/text'; import { getGrafanaDatasource } from 'app/plugins/datasource/grafana/datasource'; import { GeomapPanel } from '../GeomapPanel'; diff --git a/public/app/plugins/panel/traces/TracesPanel.tsx b/public/app/plugins/panel/traces/TracesPanel.tsx index 5ad8aebecd8..7a9c9394827 100644 --- a/public/app/plugins/panel/traces/TracesPanel.tsx +++ b/public/app/plugins/panel/traces/TracesPanel.tsx @@ -6,7 +6,7 @@ import { Field, LinkModel, PanelProps } from '@grafana/data'; import { Trans } from '@grafana/i18n'; import { getDataSourceSrv } from '@grafana/runtime'; import { TraceView } from 'app/features/explore/TraceView/TraceView'; -import { SpanLinkFunc } from 'app/features/explore/TraceView/components'; +import { SpanLinkFunc } from 'app/features/explore/TraceView/components/types/links'; import { transformDataFrames } from 'app/features/explore/TraceView/utils/transform'; import { replaceSearchVariables, SearchProps } from '../../../features/explore/TraceView/useSearch'; diff --git a/public/app/plugins/panel/trend/TrendPanel.tsx b/public/app/plugins/panel/trend/TrendPanel.tsx index ff54529bbe4..d5a7cff51d3 100644 --- a/public/app/plugins/panel/trend/TrendPanel.tsx +++ b/public/app/plugins/panel/trend/TrendPanel.tsx @@ -15,7 +15,7 @@ import { TooltipHoverMode } from '@grafana/ui/internal'; import { XYFieldMatchers } from 'app/core/components/GraphNG/types'; import { preparePlotFrame } from 'app/core/components/GraphNG/utils'; import { TimeSeries } from 'app/core/components/TimeSeries/TimeSeries'; -import { findFieldIndex } from 'app/features/dimensions'; +import { findFieldIndex } from 'app/features/dimensions/utils'; import { TimeSeriesTooltip } from '../timeseries/TimeSeriesTooltip'; import { prepareGraphableFields } from '../timeseries/utils';