1import { BucketsConfiguration } from '../../../types'; 2import { defaultFilter } from './SettingsEditor/FiltersSettingsEditor/utils'; 3import { InternalTimeZones, SelectableValue } from '@grafana/data'; 4 5export const bucketAggregationConfig: BucketsConfiguration = { 6 terms: { 7 label: 'Terms', 8 requiresField: true, 9 defaultSettings: { 10 min_doc_count: '1', 11 size: '10', 12 order: 'desc', 13 orderBy: '_term', 14 }, 15 }, 16 filters: { 17 label: 'Filters', 18 requiresField: false, 19 defaultSettings: { 20 filters: [defaultFilter()], 21 }, 22 }, 23 geohash_grid: { 24 label: 'Geo Hash Grid', 25 requiresField: true, 26 defaultSettings: { 27 precision: '3', 28 }, 29 }, 30 date_histogram: { 31 label: 'Date Histogram', 32 requiresField: true, 33 defaultSettings: { 34 interval: 'auto', 35 min_doc_count: '0', 36 trimEdges: '0', 37 timeZone: InternalTimeZones.utc, 38 }, 39 }, 40 histogram: { 41 label: 'Histogram', 42 requiresField: true, 43 defaultSettings: { 44 interval: '1000', 45 min_doc_count: '0', 46 }, 47 }, 48}; 49 50export const orderByOptions: Array<SelectableValue<string>> = [ 51 { label: 'Term value', value: '_term' }, 52 { label: 'Doc Count', value: '_count' }, 53]; 54 55export const orderOptions: Array<SelectableValue<string>> = [ 56 { label: 'Top', value: 'desc' }, 57 { label: 'Bottom', value: 'asc' }, 58]; 59 60export const sizeOptions = [ 61 { label: 'No limit', value: '0' }, 62 { label: '1', value: '1' }, 63 { label: '2', value: '2' }, 64 { label: '3', value: '3' }, 65 { label: '5', value: '5' }, 66 { label: '10', value: '10' }, 67 { label: '15', value: '15' }, 68 { label: '20', value: '20' }, 69]; 70