| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- import { SqlPartDef, SqlPart } from 'app/core/components/sql_part/sql_part';
- var index = [];
- function createPart(part): any {
- var def = index[part.type];
- if (!def) {
- return null;
- }
- return new SqlPart(part, def);
- }
- function register(options: any) {
- index[options.type] = new SqlPartDef(options);
- }
- register({
- type: 'column',
- style: 'label',
- params: [{ type: 'column', dynamicLookup: true }],
- defaultParams: ['value'],
- });
- register({
- type: 'expression',
- style: 'expression',
- label: 'Expr:',
- params: [
- { name: 'left', type: 'string', dynamicLookup: true },
- { name: 'op', type: 'string', dynamicLookup: true },
- { name: 'right', type: 'string', dynamicLookup: true },
- ],
- defaultParams: ['value', '=', 'value'],
- });
- register({
- type: 'macro',
- style: 'label',
- label: 'Macro:',
- params: [],
- defaultParams: [],
- });
- register({
- type: 'aggregate',
- style: 'label',
- params: [{ name: 'name', type: 'string', dynamicLookup: true }],
- defaultParams: ['avg'],
- });
- register({
- type: 'alias',
- style: 'label',
- params: [{ name: 'name', type: 'string', quote: 'double' }],
- defaultParams: ['alias'],
- });
- register({
- type: 'time',
- style: 'function',
- label: 'time',
- params: [
- {
- name: 'interval',
- type: 'interval',
- options: ['$__interval', '1s', '10s', '1m', '5m', '10m', '15m', '1h'],
- },
- {
- name: 'fill',
- type: 'string',
- options: ['none', 'NULL', '0'],
- },
- ],
- defaultParams: ['$__interval', 'none'],
- });
- register({
- type: 'special',
- style: 'label',
- params: [
- {
- name: 'function',
- type: 'string',
- options: ['increase', 'rate'],
- },
- ],
- defaultParams: ['increase'],
- });
- export default {
- create: createPart,
- };
|