mirror of
https://github.com/elastic/kibana.git
synced 2025-04-22 17:04:01 -04:00
update visualization configuration
This commit is contained in:
parent
6959725fd7
commit
c96fec8ba2
2 changed files with 37 additions and 0 deletions
|
@ -16,6 +16,7 @@ import { PersistedState } from 'ui/persisted_state';
|
||||||
import { UtilsBrushEventProvider } from 'ui/utils/brush_event';
|
import { UtilsBrushEventProvider } from 'ui/utils/brush_event';
|
||||||
import { FilterBarQueryFilterProvider } from 'ui/filter_bar/query_filter';
|
import { FilterBarQueryFilterProvider } from 'ui/filter_bar/query_filter';
|
||||||
import { FilterBarClickHandlerProvider } from 'ui/filter_bar/filter_bar_click_handler';
|
import { FilterBarClickHandlerProvider } from 'ui/filter_bar/filter_bar_click_handler';
|
||||||
|
import { updateVisualizationConfig } from './vis_update';
|
||||||
|
|
||||||
export function VisProvider(Private, indexPatterns, timefilter, getAppState) {
|
export function VisProvider(Private, indexPatterns, timefilter, getAppState) {
|
||||||
const visTypes = Private(VisTypesRegistryProvider);
|
const visTypes = Private(VisTypesRegistryProvider);
|
||||||
|
@ -81,6 +82,8 @@ export function VisProvider(Private, indexPatterns, timefilter, getAppState) {
|
||||||
_.cloneDeep(this.type.visConfig.defaults || {})
|
_.cloneDeep(this.type.visConfig.defaults || {})
|
||||||
);
|
);
|
||||||
|
|
||||||
|
updateVisualizationConfig(state.params, this.params);
|
||||||
|
|
||||||
this.aggs = new AggConfigs(this, state.aggs);
|
this.aggs = new AggConfigs(this, state.aggs);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
34
src/ui/public/vis/vis_update.js
Normal file
34
src/ui/public/vis/vis_update.js
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
const updateVisualizationConfig = (stateConfig, config) => {
|
||||||
|
if (!stateConfig || stateConfig.seriesParams) return;
|
||||||
|
if (!['line', 'area', 'histogram'].includes(config.type)) return;
|
||||||
|
|
||||||
|
// update value axis options
|
||||||
|
const isUserDefinedYAxis = config.setYExtents;
|
||||||
|
let mode = config.mode || 'normal';
|
||||||
|
if (['stacked', 'overlap'].includes(mode)) mode = 'normal';
|
||||||
|
config.valueAxes[0].scale = {
|
||||||
|
...config.valueAxes[0].scale,
|
||||||
|
type: config.scale || 'linear',
|
||||||
|
setYExtents: config.setYExtents || false,
|
||||||
|
defaultYExtents: config.defaultYExtents || true,
|
||||||
|
min: isUserDefinedYAxis ? config.yAxis.min : undefined,
|
||||||
|
max: isUserDefinedYAxis ? config.yAxis.max : undefined,
|
||||||
|
mode: mode
|
||||||
|
};
|
||||||
|
|
||||||
|
// update series options
|
||||||
|
let interpolate = config.interpolate;
|
||||||
|
if (config.smoothLines) interpolate = 'cardinal';
|
||||||
|
const stacked = ['stacked', 'percentage', 'wiggle', 'silhouette'].includes(config.mode);
|
||||||
|
config.seriesParams[0] = {
|
||||||
|
...config.seriesParams[0],
|
||||||
|
type: config.type || 'line',
|
||||||
|
mode: stacked ? 'stacked' : 'normal',
|
||||||
|
interpolate: interpolate,
|
||||||
|
drawLinesBetweenPoints: config.drawLinesBetweenPoints,
|
||||||
|
showCircles: config.showCircles,
|
||||||
|
radiusRatio: config.radiusRatio
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
export { updateVisualizationConfig };
|
Loading…
Add table
Add a link
Reference in a new issue