Skip to content

Commit e4869da

Browse files
authored
Merge pull request #91 from quickwit-oss/ddelemeny/refactor-datasource-mixins
Refactor datasource features as mixins
2 parents 37d70fe + 21e582f commit e4869da

File tree

13 files changed

+791
-751
lines changed

13 files changed

+791
-751
lines changed

src/LanguageProvider.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
import { AbstractLabelOperator, AbstractLabelMatcher, LanguageProvider, AbstractQuery } from '@grafana/data';
22

3-
import { ElasticDatasource } from './datasource';
3+
import { BaseQuickwitDataSource } from '@/datasource/base';
44
import { ElasticsearchQuery } from './types';
55

66
export default class ElasticsearchLanguageProvider extends LanguageProvider {
77
declare request: (url: string, params?: any) => Promise<any>;
88
declare start: () => Promise<any[]>;
9-
datasource: ElasticDatasource;
9+
datasource: BaseQuickwitDataSource;
1010

11-
constructor(datasource: ElasticDatasource, initialValues?: any) {
11+
constructor(datasource: BaseQuickwitDataSource, initialValues?: any) {
1212
super();
1313
this.datasource = datasource;
1414

src/LogContext/LogContextProvider.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { ReactNode } from 'react';
2-
import { lastValueFrom } from 'rxjs';
3-
import { QuickwitDataSource } from 'datasource';
4-
import { catchError } from 'rxjs/operators';
2+
import { lastValueFrom, catchError } from 'rxjs';
3+
4+
import { BaseQuickwitDataSource } from '@/datasource/base';
55

66
import {
77
CoreApp,
@@ -43,10 +43,10 @@ function createContextTimeRange(rowTimeEpochMs: number, direction: string) {
4343
}
4444

4545
export class LogContextProvider {
46-
datasource: QuickwitDataSource;
46+
datasource: BaseQuickwitDataSource;
4747
contextQuery: string | null;
4848

49-
constructor(datasource: QuickwitDataSource) {
49+
constructor(datasource: BaseQuickwitDataSource) {
5050
this.datasource = datasource;
5151
this.contextQuery = null;
5252
}

src/LogContext/components/LogContextUI.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import { Button } from "@grafana/ui";
88
import { useQueryBuilder } from '@/QueryBuilder/lucene';
99
import { LogContextQueryBuilderSidebar } from "./LogContextQueryBuilderSidebar";
1010
import { DatasourceContext } from "@/components/QueryEditor/ElasticsearchQueryContext";
11-
import { QuickwitDataSource } from "@/datasource";
11+
import { BaseQuickwitDataSource } from "@/datasource/base";
1212
import { useDatasourceFields } from "@/datasource/utils";
1313
import { Field, FieldContingency, Filter } from "../types";
1414

@@ -42,7 +42,7 @@ export interface LogContextProps {
4242
origQuery?: DataQuery
4343
}
4444
export interface LogContextUIProps extends LogContextProps {
45-
datasource: QuickwitDataSource,
45+
datasource: BaseQuickwitDataSource,
4646
updateQuery: (query: string) => void
4747
}
4848

src/components/QueryEditor/ElasticsearchQueryContext.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import React, { createContext, PropsWithChildren, useCallback, useEffect, useSta
22

33
import { CoreApp, TimeRange } from '@grafana/data';
44

5-
import { ElasticDatasource } from '@/datasource';
5+
import { BaseQuickwitDataSource } from '@/datasource/base';
66
import { combineReducers, useStatelessReducer, DispatchContext } from '@/hooks/useStatelessReducer';
77
import { ElasticsearchQuery } from '@/types';
88

@@ -17,15 +17,15 @@ export const useRange = getHook(RangeContext);
1717
export const QueryContext = createContext<ElasticsearchQuery | undefined>(undefined);
1818
export const useQuery = getHook(QueryContext);
1919

20-
export const DatasourceContext = createContext<ElasticDatasource | undefined>(undefined);
20+
export const DatasourceContext = createContext<BaseQuickwitDataSource | undefined>(undefined);
2121
export const useDatasource = getHook(DatasourceContext);
2222

2323
interface Props {
2424
query: ElasticsearchQuery;
2525
app: CoreApp;
2626
onChange: (query: ElasticsearchQuery) => void;
2727
onRunQuery: () => void;
28-
datasource: ElasticDatasource;
28+
datasource: BaseQuickwitDataSource;
2929
range: TimeRange;
3030
}
3131

0 commit comments

Comments
 (0)