remove render code from sql_part

This commit is contained in:
Sven Klemm
2018-07-15 09:52:32 +02:00
parent d9648f1fe7
commit f48060a1bb
3 changed files with 6 additions and 64 deletions

View File

@ -9,7 +9,6 @@ export class SqlPartDef {
wrapOpen: string; wrapOpen: string;
wrapClose: string; wrapClose: string;
separator: string; separator: string;
renderer: any;
category: any; category: any;
addStrategy: any; addStrategy: any;
@ -32,7 +31,6 @@ export class SqlPartDef {
} }
this.params = options.params; this.params = options.params;
this.defaultParams = options.defaultParams; this.defaultParams = options.defaultParams;
this.renderer = options.renderer;
this.category = options.category; this.category = options.category;
this.addStrategy = options.addStrategy; this.addStrategy = options.addStrategy;
} }
@ -74,40 +72,4 @@ export class SqlPart {
this.part.params = this.params; 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];
} }

View File

@ -1,6 +1,7 @@
import _ from 'lodash'; import _ from 'lodash';
import { PostgresQueryBuilder } from './query_builder'; import { PostgresQueryBuilder } from './query_builder';
import { QueryCtrl } from 'app/plugins/sdk'; import { QueryCtrl } from 'app/plugins/sdk';
import { SqlPart } from 'app/core/components/sql_part/sql_part';
import PostgresQuery from './postgres_query'; import PostgresQuery from './postgres_query';
import sqlPart from './sql_part'; import sqlPart from './sql_part';
@ -32,10 +33,10 @@ export class PostgresQueryCtrl extends QueryCtrl {
whereAdd: any; whereAdd: any;
timeColumnSegment: any; timeColumnSegment: any;
metricColumnSegment: any; metricColumnSegment: any;
selectMenu: any; selectMenu: any[];
selectModels: any[]; selectModels: SqlPart[][];
groupByParts: any[]; groupByParts: SqlPart[][];
whereParts: any[]; whereParts: SqlPart[][];
groupByAdd: any; groupByAdd: any;
/** @ngInject **/ /** @ngInject **/

View File

@ -1,5 +1,5 @@
import _ from 'lodash'; 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 = []; var index = [];
@ -16,18 +16,6 @@ function register(options: any) {
index[options.type] = new SqlPartDef(options); 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) { function replaceAggregationAddStrategy(selectParts, partModel) {
var hasAlias = false; var hasAlias = false;
@ -133,7 +121,6 @@ register({
addStrategy: addColumnStrategy, addStrategy: addColumnStrategy,
params: [{ type: 'column', dynamicLookup: true }], params: [{ type: 'column', dynamicLookup: true }],
defaultParams: ['value'], defaultParams: ['value'],
renderer: columnRenderer,
}); });
register({ register({
@ -147,7 +134,6 @@ register({
{ name: 'right', type: 'string', dynamicLookup: true }, { name: 'right', type: 'string', dynamicLookup: true },
], ],
defaultParams: ['value', '=', 'value'], defaultParams: ['value', '=', 'value'],
renderer: columnRenderer,
}); });
register({ register({
@ -157,7 +143,6 @@ register({
addStrategy: addExpressionStrategy, addStrategy: addExpressionStrategy,
params: [], params: [],
defaultParams: [], defaultParams: [],
renderer: columnRenderer,
}); });
register({ register({
@ -166,7 +151,6 @@ register({
addStrategy: replaceAggregationAddStrategy, addStrategy: replaceAggregationAddStrategy,
params: [{ name: 'name', type: 'string', dynamicLookup: true }], params: [{ name: 'name', type: 'string', dynamicLookup: true }],
defaultParams: ['avg'], defaultParams: ['avg'],
renderer: aggregateRenderer,
}); });
register({ register({
@ -175,7 +159,6 @@ register({
addStrategy: addMathStrategy, addStrategy: addMathStrategy,
params: [{ name: 'expr', type: 'string' }], params: [{ name: 'expr', type: 'string' }],
defaultParams: [' / 100'], defaultParams: [' / 100'],
renderer: suffixRenderer,
}); });
register({ register({
@ -184,8 +167,6 @@ register({
addStrategy: addAliasStrategy, addStrategy: addAliasStrategy,
params: [{ name: 'name', type: 'string', quote: 'double' }], params: [{ name: 'name', type: 'string', quote: 'double' }],
defaultParams: ['alias'], defaultParams: ['alias'],
renderMode: 'suffix',
renderer: aliasRenderer,
}); });
register({ register({
@ -205,7 +186,6 @@ register({
}, },
], ],
defaultParams: ['$__interval', 'none'], defaultParams: ['$__interval', 'none'],
renderer: functionRenderer,
}); });
register({ register({
@ -220,7 +200,6 @@ register({
], ],
defaultParams: ['increase'], defaultParams: ['increase'],
addStrategy: replaceSpecialAddStrategy, addStrategy: replaceSpecialAddStrategy,
renderer: aggregateRenderer,
}); });
export default { export default {