Skip to content

Commit

Permalink
Revert "feat(products): add variable query editor and enhance Product…
Browse files Browse the repository at this point in the history
…sDataSource with metricFindQuery"

This reverts commit 33ad95d.
  • Loading branch information
richie-ni committed Jan 27, 2025
1 parent 33ad95d commit bb69a48
Show file tree
Hide file tree
Showing 6 changed files with 7 additions and 110 deletions.
17 changes: 2 additions & 15 deletions src/datasources/products/ProductsDataSource.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { DataFrameDTO, DataQueryRequest, DataSourceInstanceSettings, FieldType, MetricFindValue, TestDataSourceResponse } from '@grafana/data';
import { DataFrameDTO, DataQueryRequest, DataSourceInstanceSettings, FieldType, TestDataSourceResponse } from '@grafana/data';
import { BackendSrv, TemplateSrv, getBackendSrv, getTemplateSrv } from '@grafana/runtime';
import { DataSourceBase } from 'core/DataSourceBase';
import { ProductQuery, ProductResponseProperties, ProductVariableQuery, Properties, PropertiesOptions, QueryProductResponse } from './types';
import { ProductQuery, ProductResponseProperties, Properties, PropertiesOptions, QueryProductResponse } from './types';
import { QueryBuilderOption, Workspace } from 'core/types';
import { parseErrorMessage } from 'core/errors';
import { getVariableOptions } from 'core/utils';
Expand Down Expand Up @@ -154,19 +154,6 @@ export class ProductsDataSource extends DataSourceBase<ProductQuery> {
return `${ProductsQueryBuilderFieldNames.UPDATED_AT} ${operation} "${value}"`;
}]]);

async metricFindQuery(query: ProductVariableQuery, options: DataQueryRequest): Promise<MetricFindValue[]> {
if (query.queryBy) {
const filter = this.templateSrv.replace(query.queryBy, options.scopedVars)
const metadata = (await this.queryProducts(
PropertiesOptions.PART_NUMBER,
[Properties.partNumber, Properties.family],
filter
)).products;
return metadata.map(frame => ({ text: `${frame.partNumber}(${frame.family})`, value: frame.partNumber }));
}
return [];
}

protected multipleValuesQuery(field: string): ExpressionTransformFunction {
return (value: string, operation: string, _options?: any) => {
if (this.isMultiSelectValue(value)) {
Expand Down
2 changes: 0 additions & 2 deletions src/datasources/products/components/ProductsQueryEditor.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import { Workspace } from 'core/types';
import { ProductsQueryBuilder } from 'datasources/products/components/query-builder/ProductsQueryBuilder';
import { FloatingError } from 'core/errors';
import './ProductsQueryEditor.scss';
import { ProductsQueryBuilderStaticFields } from '../constants/ProductsQueryBuilder.constants';


type Props = QueryEditorProps<ProductsDataSource, ProductQuery>;
Expand Down Expand Up @@ -86,7 +85,6 @@ export function ProductsQueryEditor({ query, onChange, onRunQuery, datasource }:
partNumbers={partNumbers}
globalVariableOptions={datasource.globalVariableOptions()}
onChange={(event: any) => onParameterChange(event.detail.linq)}
staticFields={ProductsQueryBuilderStaticFields}
></ProductsQueryBuilder>
</InlineField>
</VerticalGroup>
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import { queryBuilderMessages, QueryBuilderOperations } from "core/query-builder
import { expressionBuilderCallback, expressionReaderCallback } from "core/query-builder.utils";
import { Workspace, QueryBuilderOption } from "core/types";
import { filterXSSField, filterXSSLINQExpression } from "core/utils";
import { ProductsQueryBuilderFields } from "datasources/products/constants/ProductsQueryBuilder.constants";
import { ProductsQueryBuilderStaticFields, ProductsQueryBuilderFields } from "datasources/products/constants/ProductsQueryBuilder.constants";
import { QBField } from "datasources/products/types";
import React, { useState, useEffect, useMemo } from "react";
import QueryBuilder, { QueryBuilderCustomOperation, QueryBuilderProps } from "smart-webcomponents-react/querybuilder";
Expand All @@ -13,16 +13,14 @@ type ProductsQueryBuilderProps = QueryBuilderProps & React.HTMLAttributes<Elemen
workspaces: Workspace[];
partNumbers: string[];
globalVariableOptions: QueryBuilderOption[];
staticFields?: QBField[];
};

export const ProductsQueryBuilder: React.FC<ProductsQueryBuilderProps> = ({
filter,
onChange,
workspaces,
partNumbers,
globalVariableOptions,
staticFields
globalVariableOptions
}) => {
const theme = useTheme2();
document.body.setAttribute('theme', theme.isDark ? 'dark-orange' : 'orange');
Expand Down Expand Up @@ -82,7 +80,7 @@ export const ProductsQueryBuilder: React.FC<ProductsQueryBuilderProps> = ({


useEffect(() => {
const fields = [partNumberField, ...staticFields!, updatedAtField, workspaceField]
const fields = [partNumberField, ...ProductsQueryBuilderStaticFields, updatedAtField, workspaceField]
.map((field) => {
if (field.lookup?.dataSource) {
return {
Expand Down Expand Up @@ -159,7 +157,7 @@ export const ProductsQueryBuilder: React.FC<ProductsQueryBuilderProps> = ({
QueryBuilderOperations.KEY_VALUE_IS_NUMERICAL_NOT_EQUAL
]);

}, [workspaceField, updatedAtField, partNumberField, staticFields, globalVariableOptions]);
}, [workspaceField, updatedAtField, partNumberField, globalVariableOptions]);

return (
<QueryBuilder
Expand Down
4 changes: 1 addition & 3 deletions src/datasources/products/module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@ import { DataSourcePlugin } from '@grafana/data';
import { ProductsDataSource } from './ProductsDataSource';
import { ProductsQueryEditor } from './components/ProductsQueryEditor';
import { HttpConfigEditor } from 'core/components/HttpConfigEditor';
import { ProductsVariableQueryEditor } from './components/ProductsVariableQueryEditor';

export const plugin = new DataSourcePlugin(ProductsDataSource)
.setConfigEditor(HttpConfigEditor)
.setQueryEditor(ProductsQueryEditor)
.setVariableQueryEditor(ProductsVariableQueryEditor);
.setQueryEditor(ProductsQueryEditor);
4 changes: 0 additions & 4 deletions src/datasources/products/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,6 @@ export interface ProductQuery extends DataQuery {
queryBy?: string;
}

export interface ProductVariableQuery extends DataQuery {
queryBy?: string;
}

export enum Properties {
id = 'ID',
partNumber = 'PART_NUMBER',
Expand Down

0 comments on commit bb69a48

Please sign in to comment.