mirror of
https://github.com/elastic/kibana.git
synced 2025-04-24 09:48:58 -04:00
Don't deep clone vis in courier request handler (#19069)
This commit is contained in:
parent
34a46ca8e0
commit
b996f736a0
2 changed files with 23 additions and 13 deletions
|
@ -1,6 +1,7 @@
|
|||
import _ from 'lodash';
|
||||
import { SearchSourceProvider } from '../../courier/data_source/search_source';
|
||||
import { VisRequestHandlersRegistryProvider } from '../../registry/vis_request_handlers';
|
||||
import { calculateObjectHash } from '../lib/calculate_object_hash';
|
||||
|
||||
const CourierRequestHandlerProvider = function (Private, courier, timefilter) {
|
||||
const SearchSource = Private(SearchSourceProvider);
|
||||
|
@ -72,22 +73,11 @@ const CourierRequestHandlerProvider = function (Private, courier, timefilter) {
|
|||
searchSource.set('query', appState.query);
|
||||
}
|
||||
|
||||
// AggConfig contains circular reference to vis, which contains visualization parameters,
|
||||
// which we should not look at
|
||||
const copyAggs = (aggs) => {
|
||||
return aggs.map(agg => {
|
||||
return {
|
||||
type: agg.type,
|
||||
params: agg.params
|
||||
};
|
||||
});
|
||||
};
|
||||
|
||||
const shouldQuery = () => {
|
||||
if (!searchSource.lastQuery || vis.reload) return true;
|
||||
if (!_.isEqual(_.cloneDeep(searchSource.get('filter')), searchSource.lastQuery.filter)) return true;
|
||||
if (!_.isEqual(_.cloneDeep(searchSource.get('query')), searchSource.lastQuery.query)) return true;
|
||||
if (!_.isEqual(_.cloneDeep(copyAggs(vis.aggs.getRequestAggs())), searchSource.lastQuery.aggs)) return true;
|
||||
if (!_.isEqual(calculateObjectHash(vis.aggs.getRequestAggs()), searchSource.lastQuery.aggs)) return true;
|
||||
if (!_.isEqual(_.cloneDeep(timeRange), searchSource.lastQuery.timeRange)) return true;
|
||||
|
||||
return false;
|
||||
|
@ -100,7 +90,7 @@ const CourierRequestHandlerProvider = function (Private, courier, timefilter) {
|
|||
searchSource.lastQuery = {
|
||||
filter: _.cloneDeep(searchSource.get('filter')),
|
||||
query: _.cloneDeep(searchSource.get('query')),
|
||||
aggs: _.cloneDeep(copyAggs(vis.aggs.getRequestAggs())),
|
||||
aggs: calculateObjectHash(vis.aggs.getRequestAggs()),
|
||||
timeRange: _.cloneDeep(timeRange)
|
||||
};
|
||||
|
||||
|
|
|
@ -167,5 +167,25 @@ export default function ({ getService, getPageObjects }) {
|
|||
expect(legendEntries).to.eql(expectedEntries);
|
||||
});
|
||||
});
|
||||
|
||||
describe('vertical bar with derivative', function () {
|
||||
it('should show correct series', async function () {
|
||||
await PageObjects.visualize.toggleOpenEditor(2, 'false');
|
||||
await PageObjects.visualize.toggleOpenEditor(1);
|
||||
await PageObjects.visualize.selectAggregation('Derivative', 'metrics');
|
||||
await PageObjects.header.waitUntilLoadingHasFinished();
|
||||
|
||||
|
||||
await PageObjects.common.sleep(1003);
|
||||
await PageObjects.visualize.clickGo();
|
||||
await PageObjects.header.waitUntilLoadingHasFinished();
|
||||
|
||||
const expectedEntries = [
|
||||
'Derivative of Count'
|
||||
];
|
||||
const legendEntries = await PageObjects.visualize.getLegendEntries();
|
||||
expect(legendEntries).to.eql(expectedEntries);
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue