Commit cda3b017 by David Kaltschmidt

Reversed history direction for explore

- _.reverse() was modifying state.history
parent eaff7b0f
...@@ -289,10 +289,10 @@ export class Explore extends React.Component<any, IExploreState> { ...@@ -289,10 +289,10 @@ export class Explore extends React.Component<any, IExploreState> {
const ts = Date.now(); const ts = Date.now();
queries.forEach(q => { queries.forEach(q => {
const { query } = q; const { query } = q;
history = [...history, { query, ts }]; history = [{ query, ts }, ...history];
}); });
if (history.length > MAX_HISTORY_ITEMS) { if (history.length > MAX_HISTORY_ITEMS) {
history = history.slice(history.length - MAX_HISTORY_ITEMS); history = history.slice(0, MAX_HISTORY_ITEMS);
} }
// Combine all queries of a datasource type into one history // Combine all queries of a datasource type into one history
const historyKey = `grafana.explore.history.${datasourceId}`; const historyKey = `grafana.explore.history.${datasourceId}`;
......
...@@ -35,7 +35,7 @@ export function addHistoryMetadata(item: Suggestion, history: any[]): Suggestion ...@@ -35,7 +35,7 @@ export function addHistoryMetadata(item: Suggestion, history: any[]): Suggestion
const cutoffTs = Date.now() - HISTORY_COUNT_CUTOFF; const cutoffTs = Date.now() - HISTORY_COUNT_CUTOFF;
const historyForItem = history.filter(h => h.ts > cutoffTs && h.query === item.label); const historyForItem = history.filter(h => h.ts > cutoffTs && h.query === item.label);
const count = historyForItem.length; const count = historyForItem.length;
const recent = historyForItem.pop(); const recent = historyForItem[0];
let hint = `Queried ${count} times in the last 24h.`; let hint = `Queried ${count} times in the last 24h.`;
if (recent) { if (recent) {
const lastQueried = moment(recent.ts).fromNow(); const lastQueried = moment(recent.ts).fromNow();
...@@ -189,11 +189,10 @@ class PromQueryField extends React.Component<PromQueryFieldProps, PromQueryField ...@@ -189,11 +189,10 @@ class PromQueryField extends React.Component<PromQueryFieldProps, PromQueryField
if (history && history.length > 0) { if (history && history.length > 0) {
const historyItems = _.chain(history) const historyItems = _.chain(history)
.uniqBy('query') .uniqBy('query')
.takeRight(HISTORY_ITEM_COUNT) .take(HISTORY_ITEM_COUNT)
.map(h => h.query) .map(h => h.query)
.map(wrapLabel) .map(wrapLabel)
.map(item => addHistoryMetadata(item, history)) .map(item => addHistoryMetadata(item, history))
.reverse()
.value(); .value();
suggestions.push({ suggestions.push({
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment