Mirror of https://github.com/roostorg/osprey github.com/roostorg/osprey
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at main 48 lines 1.5 kB view raw
1import dayjs from 'dayjs'; 2 3import { history } from '../stores/QueryStore'; 4import { QueryRecord, ScanQueryOrder } from '../types/QueryTypes'; 5import { getIntervalFromDateRange } from './DateUtils'; 6import { getQueryDateRange } from './QueryUtils'; 7 8export function openNewQueryWindow(queryFilter: string) { 9 const queryString = new URLSearchParams(history.location.search); 10 queryString.set('queryFilter', queryFilter); 11 12 window.open(`${window.location.origin}/?${queryString.toString()}`, window.name); 13} 14 15export function getSearchParamsForQueryRecord(query: QueryRecord, useInterval: boolean = false): string { 16 const interval = getIntervalFromDateRange(query.date_range); 17 18 let start = dayjs.utc(query.date_range.start).format(); 19 let end = dayjs.utc(query.date_range.end).format(); 20 21 if (useInterval && interval != null) { 22 const dateRange = getQueryDateRange(interval); 23 24 start = dateRange.start; 25 end = dateRange.end; 26 } 27 28 const queryString = new URLSearchParams(); 29 queryString.append('queryFilter', query.query_filter); 30 queryString.append('start', start); 31 queryString.append('end', end); 32 33 if (interval != null) { 34 queryString.append('interval', interval); 35 } 36 37 if (query.sort_order === ScanQueryOrder.ASCENDING) { 38 queryString.append('sortOrder', ScanQueryOrder.ASCENDING); 39 } 40 41 if (query.top_n.length > 0) { 42 query.top_n.forEach((table) => { 43 queryString.append('topn', table.asQueryParam()); 44 }); 45 } 46 47 return `?${queryString.toString()}`; 48}