Loki: Fix suggesting operations from different category (#52034)

This commit is contained in:
Ivana Huckova 2022-07-11 14:24:49 +02:00 committed by GitHub
parent 2f41ee7333
commit 0a2a370b77
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 6 deletions

View File

@ -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]}`,

View File

@ -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`);
}