mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
Loki: Fix suggesting operations from different category (#52034)
This commit is contained in:
parent
2f41ee7333
commit
0a2a370b77
@ -288,6 +288,7 @@ export function getOperationDefinitions(): QueryBuilderOperationDef[] {
|
||||
{ name: 'Value', type: 'string' },
|
||||
],
|
||||
defaultParams: ['', '=', ''],
|
||||
alternativesKey: 'label filter',
|
||||
category: LokiVisualQueryOperationCategory.LabelFilters,
|
||||
orderRank: LokiOperationOrder.LabelFilters,
|
||||
renderer: labelFilterRenderer,
|
||||
@ -299,6 +300,7 @@ export function getOperationDefinitions(): QueryBuilderOperationDef[] {
|
||||
name: 'No pipeline errors',
|
||||
params: [],
|
||||
defaultParams: [],
|
||||
alternativesKey: 'label filter',
|
||||
category: LokiVisualQueryOperationCategory.LabelFilters,
|
||||
orderRank: LokiOperationOrder.NoErrors,
|
||||
renderer: (model, def, innerExpr) => `${innerExpr} | __error__=\`\``,
|
||||
@ -310,6 +312,7 @@ export function getOperationDefinitions(): QueryBuilderOperationDef[] {
|
||||
name: 'Unwrap',
|
||||
params: [{ name: 'Identifier', type: 'string', hideName: true, minWidth: 16, placeholder: 'Label key' }],
|
||||
defaultParams: [''],
|
||||
alternativesKey: 'format',
|
||||
category: LokiVisualQueryOperationCategory.Formats,
|
||||
orderRank: LokiOperationOrder.Unwrap,
|
||||
renderer: (op, def, innerExpr) => `${innerExpr} | unwrap ${op.params[0]}`,
|
||||
|
@ -19,11 +19,11 @@ export interface PromLokiVisualQuery {
|
||||
}
|
||||
|
||||
export abstract class LokiAndPromQueryModellerBase implements VisualQueryModeller {
|
||||
protected operationsRegisty: Registry<QueryBuilderOperationDef>;
|
||||
protected operationsRegistry: Registry<QueryBuilderOperationDef>;
|
||||
private categories: string[] = [];
|
||||
|
||||
constructor(getOperations: () => QueryBuilderOperationDef[]) {
|
||||
this.operationsRegisty = new Registry<QueryBuilderOperationDef>(getOperations);
|
||||
this.operationsRegistry = new Registry<QueryBuilderOperationDef>(getOperations);
|
||||
}
|
||||
|
||||
protected setOperationCategories(categories: string[]) {
|
||||
@ -31,11 +31,11 @@ export abstract class LokiAndPromQueryModellerBase implements VisualQueryModelle
|
||||
}
|
||||
|
||||
getOperationsForCategory(category: string) {
|
||||
return this.operationsRegisty.list().filter((op) => op.category === category && !op.hideFromList);
|
||||
return this.operationsRegistry.list().filter((op) => op.category === category && !op.hideFromList);
|
||||
}
|
||||
|
||||
getAlternativeOperations(key: string) {
|
||||
return this.operationsRegisty.list().filter((op) => op.alternativesKey === key);
|
||||
return this.operationsRegistry.list().filter((op) => op.alternativesKey && op.alternativesKey === key);
|
||||
}
|
||||
|
||||
getCategories() {
|
||||
@ -43,12 +43,12 @@ export abstract class LokiAndPromQueryModellerBase implements VisualQueryModelle
|
||||
}
|
||||
|
||||
getOperationDef(id: string): QueryBuilderOperationDef | undefined {
|
||||
return this.operationsRegisty.getIfExists(id);
|
||||
return this.operationsRegistry.getIfExists(id);
|
||||
}
|
||||
|
||||
renderOperations(queryString: string, operations: QueryBuilderOperation[]) {
|
||||
for (const operation of operations) {
|
||||
const def = this.operationsRegisty.getIfExists(operation.id);
|
||||
const def = this.operationsRegistry.getIfExists(operation.id);
|
||||
if (!def) {
|
||||
throw new Error(`Could not find operation ${operation.id} in the registry`);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user