mirror of
https://github.com/grafana/grafana.git
synced 2025-08-06 20:59:35 +08:00
remove render code from sql_part
This commit is contained in:
@ -9,7 +9,6 @@ export class SqlPartDef {
|
||||
wrapOpen: string;
|
||||
wrapClose: string;
|
||||
separator: string;
|
||||
renderer: any;
|
||||
category: any;
|
||||
addStrategy: any;
|
||||
|
||||
@ -32,7 +31,6 @@ export class SqlPartDef {
|
||||
}
|
||||
this.params = options.params;
|
||||
this.defaultParams = options.defaultParams;
|
||||
this.renderer = options.renderer;
|
||||
this.category = options.category;
|
||||
this.addStrategy = options.addStrategy;
|
||||
}
|
||||
@ -74,40 +72,4 @@ export class SqlPart {
|
||||
|
||||
this.part.params = this.params;
|
||||
}
|
||||
|
||||
render(innerExpr: string) {
|
||||
return this.def.renderer(this, innerExpr);
|
||||
}
|
||||
}
|
||||
|
||||
export function functionRenderer(part, innerExpr) {
|
||||
var str = part.def.type + '(';
|
||||
var parameters = _.map(part.params, (value, index) => {
|
||||
var paramType = part.def.params[index];
|
||||
if (paramType.type === 'time') {
|
||||
if (value === 'auto') {
|
||||
value = '$__interval';
|
||||
}
|
||||
}
|
||||
if (paramType.quote === 'single') {
|
||||
return "'" + value + "'";
|
||||
} else if (paramType.quote === 'double') {
|
||||
return '"' + value + '"';
|
||||
}
|
||||
|
||||
return value;
|
||||
});
|
||||
|
||||
if (innerExpr) {
|
||||
parameters.unshift(innerExpr);
|
||||
}
|
||||
return str + parameters.join(', ') + ')';
|
||||
}
|
||||
|
||||
export function suffixRenderer(part, innerExpr) {
|
||||
return innerExpr + ' ' + part.params[0];
|
||||
}
|
||||
|
||||
export function identityRenderer(part, innerExpr) {
|
||||
return part.params[0];
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
import _ from 'lodash';
|
||||
import { PostgresQueryBuilder } from './query_builder';
|
||||
import { QueryCtrl } from 'app/plugins/sdk';
|
||||
import { SqlPart } from 'app/core/components/sql_part/sql_part';
|
||||
import PostgresQuery from './postgres_query';
|
||||
import sqlPart from './sql_part';
|
||||
|
||||
@ -32,10 +33,10 @@ export class PostgresQueryCtrl extends QueryCtrl {
|
||||
whereAdd: any;
|
||||
timeColumnSegment: any;
|
||||
metricColumnSegment: any;
|
||||
selectMenu: any;
|
||||
selectModels: any[];
|
||||
groupByParts: any[];
|
||||
whereParts: any[];
|
||||
selectMenu: any[];
|
||||
selectModels: SqlPart[][];
|
||||
groupByParts: SqlPart[][];
|
||||
whereParts: SqlPart[][];
|
||||
groupByAdd: any;
|
||||
|
||||
/** @ngInject **/
|
||||
|
@ -1,5 +1,5 @@
|
||||
import _ from 'lodash';
|
||||
import { SqlPartDef, SqlPart, functionRenderer, suffixRenderer } from 'app/core/components/sql_part/sql_part';
|
||||
import { SqlPartDef, SqlPart } from 'app/core/components/sql_part/sql_part';
|
||||
|
||||
var index = [];
|
||||
|
||||
@ -16,18 +16,6 @@ function register(options: any) {
|
||||
index[options.type] = new SqlPartDef(options);
|
||||
}
|
||||
|
||||
function aliasRenderer(part, innerExpr) {
|
||||
return innerExpr + ' AS ' + '"' + part.params[0] + '"';
|
||||
}
|
||||
|
||||
function aggregateRenderer(part, innerExpr) {
|
||||
return part.params[0] + '(' + innerExpr + ')';
|
||||
}
|
||||
|
||||
function columnRenderer(part, innerExpr) {
|
||||
return part.params[0];
|
||||
}
|
||||
|
||||
function replaceAggregationAddStrategy(selectParts, partModel) {
|
||||
var hasAlias = false;
|
||||
|
||||
@ -133,7 +121,6 @@ register({
|
||||
addStrategy: addColumnStrategy,
|
||||
params: [{ type: 'column', dynamicLookup: true }],
|
||||
defaultParams: ['value'],
|
||||
renderer: columnRenderer,
|
||||
});
|
||||
|
||||
register({
|
||||
@ -147,7 +134,6 @@ register({
|
||||
{ name: 'right', type: 'string', dynamicLookup: true },
|
||||
],
|
||||
defaultParams: ['value', '=', 'value'],
|
||||
renderer: columnRenderer,
|
||||
});
|
||||
|
||||
register({
|
||||
@ -157,7 +143,6 @@ register({
|
||||
addStrategy: addExpressionStrategy,
|
||||
params: [],
|
||||
defaultParams: [],
|
||||
renderer: columnRenderer,
|
||||
});
|
||||
|
||||
register({
|
||||
@ -166,7 +151,6 @@ register({
|
||||
addStrategy: replaceAggregationAddStrategy,
|
||||
params: [{ name: 'name', type: 'string', dynamicLookup: true }],
|
||||
defaultParams: ['avg'],
|
||||
renderer: aggregateRenderer,
|
||||
});
|
||||
|
||||
register({
|
||||
@ -175,7 +159,6 @@ register({
|
||||
addStrategy: addMathStrategy,
|
||||
params: [{ name: 'expr', type: 'string' }],
|
||||
defaultParams: [' / 100'],
|
||||
renderer: suffixRenderer,
|
||||
});
|
||||
|
||||
register({
|
||||
@ -184,8 +167,6 @@ register({
|
||||
addStrategy: addAliasStrategy,
|
||||
params: [{ name: 'name', type: 'string', quote: 'double' }],
|
||||
defaultParams: ['alias'],
|
||||
renderMode: 'suffix',
|
||||
renderer: aliasRenderer,
|
||||
});
|
||||
|
||||
register({
|
||||
@ -205,7 +186,6 @@ register({
|
||||
},
|
||||
],
|
||||
defaultParams: ['$__interval', 'none'],
|
||||
renderer: functionRenderer,
|
||||
});
|
||||
|
||||
register({
|
||||
@ -220,7 +200,6 @@ register({
|
||||
],
|
||||
defaultParams: ['increase'],
|
||||
addStrategy: replaceSpecialAddStrategy,
|
||||
renderer: aggregateRenderer,
|
||||
});
|
||||
|
||||
export default {
|
||||
|
Reference in New Issue
Block a user