diff --git a/src/core_plugins/metrics/public/components/vis_editor/aggs/calculation.js b/src/core_plugins/metrics/public/components/vis_editor/aggs/calculation.js index 9a5c6140bafa9..bc2d1a18a624c 100644 --- a/src/core_plugins/metrics/public/components/vis_editor/aggs/calculation.js +++ b/src/core_plugins/metrics/public/components/vis_editor/aggs/calculation.js @@ -21,7 +21,7 @@ export default React.createClass({ }, render() { - const { model, panelType, siblings } = this.props; + const { model, panel, siblings } = this.props; const handleChange = createChangeHandler(this.props.onChange, model); const handleSelectChange = createSelectHandler(handleChange); const handleTextChange = createTextHandler(handleChange, this.refs); @@ -33,7 +33,7 @@ export default React.createClass({
Aggregation
diff --git a/src/core_plugins/metrics/public/components/vis_editor/aggs/cumulative_sum.js b/src/core_plugins/metrics/public/components/vis_editor/aggs/cumulative_sum.js index 35b171fe66c3a..6760cd2cea4a4 100644 --- a/src/core_plugins/metrics/public/components/vis_editor/aggs/cumulative_sum.js +++ b/src/core_plugins/metrics/public/components/vis_editor/aggs/cumulative_sum.js @@ -6,7 +6,7 @@ import createChangeHandler from '../lib/create_change_handler'; import createSelectHandler from '../../../lib/create_select_handler'; export default React.createClass({ render() { - const { model, panelType, siblings } = this.props; + const { model, panel, siblings } = this.props; const handleChange = createChangeHandler(this.props.onChange, model); const handleSelectChange = createSelectHandler(handleChange); return ( @@ -15,7 +15,7 @@ export default React.createClass({
Aggregation
diff --git a/src/core_plugins/metrics/public/components/vis_editor/aggs/derivative.js b/src/core_plugins/metrics/public/components/vis_editor/aggs/derivative.js index 87c1880878038..53c30c1e3c398 100644 --- a/src/core_plugins/metrics/public/components/vis_editor/aggs/derivative.js +++ b/src/core_plugins/metrics/public/components/vis_editor/aggs/derivative.js @@ -9,7 +9,7 @@ import createTextHandler from '../../../lib/create_text_handler'; export default React.createClass({ render() { - const { model, siblings, panelType } = this.props; + const { model, siblings, panel } = this.props; const handleChange = createChangeHandler(this.props.onChange, model); const handleSelectChange = createSelectHandler(handleChange); @@ -21,7 +21,7 @@ export default React.createClass({
Aggregation
diff --git a/src/core_plugins/metrics/public/components/vis_editor/aggs/field_select.js b/src/core_plugins/metrics/public/components/vis_editor/aggs/field_select.js index 7767e38d4dba9..0eb8c3f672bd7 100644 --- a/src/core_plugins/metrics/public/components/vis_editor/aggs/field_select.js +++ b/src/core_plugins/metrics/public/components/vis_editor/aggs/field_select.js @@ -7,15 +7,20 @@ import generateByTypeFilter from '../../../lib/generate_by_type_filter'; export default React.createClass({ getDefaultProps() { - return { restrict: 'none', style: {} }; + return { + indexPattern: '*', + disabled: false, + restrict: 'none', + style: {} + }; }, render() { - const { type, fields } = this.props; + const { type, fields, indexPattern } = this.props; if (type === 'count') { return (
); } - const options = fields + const options = (fields[indexPattern] || []) .filter(generateByTypeFilter(this.props.restrict)) .map(field => { return { label: field.name, value: field.name }; @@ -24,6 +29,7 @@ export default React.createClass({ return ( + ref={indexPatternName} + disabled={this.props.disabled} + onChange={handleTextChange(indexPatternName, '*')} + defaultValue={model[indexPatternName] || '*'}/>
Time Field
Interval (auto, 1m, 1d, 1w, 1y)
+ ref={intervalName} + disabled={this.props.disabled} + onChange={handleTextChange(intervalName, 'auto')} + defaultValue={model[intervalName] || 'auto'}/>
); } diff --git a/src/core_plugins/metrics/public/components/vis_editor/series.js b/src/core_plugins/metrics/public/components/vis_editor/series.js index 24db69fb1d52e..88e34cb3de60b 100644 --- a/src/core_plugins/metrics/public/components/vis_editor/series.js +++ b/src/core_plugins/metrics/public/components/vis_editor/series.js @@ -47,8 +47,8 @@ export default sortable(React.createClass({ }, render() { - const { panelType } = this.props; - const Component = lookup[panelType]; + const { panel } = this.props; + const Component = lookup[panel.type]; if (Component) { const params = { switchTab: this.switchTab, @@ -59,6 +59,6 @@ export default sortable(React.createClass({ }; return (); } - return (
Missing Series component for panel type: {panelType}
); + return (
Missing Series component for panel type: {panel.type}
); } })); diff --git a/src/core_plugins/metrics/public/components/vis_editor/series/gauge/series.js b/src/core_plugins/metrics/public/components/vis_editor/series/gauge/series.js index b4c6e2ca0771c..8564b99ac126f 100644 --- a/src/core_plugins/metrics/public/components/vis_editor/series/gauge/series.js +++ b/src/core_plugins/metrics/public/components/vis_editor/series/gauge/series.js @@ -18,12 +18,12 @@ export default React.createClass({ renderRow(row, index, items) { const { props } = this; - const { model, fields } = props; + const { panel, model, fields } = props; return ( diff --git a/src/core_plugins/metrics/public/components/vis_editor/series/markdown/series.js b/src/core_plugins/metrics/public/components/vis_editor/series/markdown/series.js index 421f65bf9d425..5b645f164e46f 100644 --- a/src/core_plugins/metrics/public/components/vis_editor/series/markdown/series.js +++ b/src/core_plugins/metrics/public/components/vis_editor/series/markdown/series.js @@ -19,12 +19,12 @@ export default React.createClass({ renderRow(row, index, items) { const { props } = this; - const { model, fields } = props; + const { panel, model, fields } = props; return ( diff --git a/src/core_plugins/metrics/public/components/vis_editor/series/metric/series.js b/src/core_plugins/metrics/public/components/vis_editor/series/metric/series.js index 3ac94e90668a2..bb1ae3b89b8e0 100644 --- a/src/core_plugins/metrics/public/components/vis_editor/series/metric/series.js +++ b/src/core_plugins/metrics/public/components/vis_editor/series/metric/series.js @@ -18,12 +18,12 @@ export default React.createClass({ renderRow(row, index, items) { const { props } = this; - const { model, fields } = props; + const { panel, model, fields } = props; return ( diff --git a/src/core_plugins/metrics/public/components/vis_editor/series/timeseries/config.js b/src/core_plugins/metrics/public/components/vis_editor/series/timeseries/config.js index 1a3dae407f63a..f41770091fd99 100644 --- a/src/core_plugins/metrics/public/components/vis_editor/series/timeseries/config.js +++ b/src/core_plugins/metrics/public/components/vis_editor/series/timeseries/config.js @@ -4,6 +4,7 @@ import DataFormatPicker from 'plugins/metrics/components/vis_editor/data_format_ import createSelectHandler from 'plugins/metrics/lib/create_select_handler'; import YesNo from 'plugins/metrics/components/yes_no'; import createTextHandler from 'plugins/metrics/lib/create_text_handler'; +import IndexPattern from 'plugins/metrics/components/vis_editor/index_pattern'; export default React.createClass({ render() { @@ -135,7 +136,8 @@ export default React.createClass({ value={model.hide_in_legend} name="hide_in_legend" onChange={this.props.onChange}/> -
Axis Max
+ +
Separate Axis
- { model.seperate_axis ? ( -
-
- ) : (
) } +
+
Override Index Pattern
+ + +
); diff --git a/src/core_plugins/metrics/public/components/vis_editor/series/timeseries/series.js b/src/core_plugins/metrics/public/components/vis_editor/series/timeseries/series.js index d3ac25bc809c5..1f9c0f633d6df 100644 --- a/src/core_plugins/metrics/public/components/vis_editor/series/timeseries/series.js +++ b/src/core_plugins/metrics/public/components/vis_editor/series/timeseries/series.js @@ -18,12 +18,12 @@ export default React.createClass({ renderRow(row, index, items) { const { props } = this; - const { model, fields } = props; + const { model, panel, fields } = props; return ( diff --git a/src/core_plugins/metrics/public/components/vis_editor/series/top_n/series.js b/src/core_plugins/metrics/public/components/vis_editor/series/top_n/series.js index 5d167dee5d0ee..c7efc4ca6f798 100644 --- a/src/core_plugins/metrics/public/components/vis_editor/series/top_n/series.js +++ b/src/core_plugins/metrics/public/components/vis_editor/series/top_n/series.js @@ -7,7 +7,6 @@ import AddDeleteButtons from 'plugins/metrics/components/add_delete_buttons'; import SeriesConfig from './config'; import Sortable from 'react-anything-sortable'; import Tooltip from 'plugins/metrics/components/tooltip'; -import FieldSelect from 'plugins/metrics/components/vis_editor/aggs/field_select'; import MetricSelect from 'plugins/metrics/components/vis_editor/aggs/metric_select'; import createSelectHandler from 'plugins/metrics/lib/create_select_handler'; import createTextHandler from 'plugins/metrics/lib/create_text_handler'; @@ -24,12 +23,12 @@ export default React.createClass({ renderRow(row, index, items) { const { props } = this; - const { model, fields } = props; + const { panel, model, fields } = props; return ( diff --git a/src/core_plugins/metrics/public/components/vis_editor/series_editor.js b/src/core_plugins/metrics/public/components/vis_editor/series_editor.js index b06f296df4760..266e61222a2a2 100644 --- a/src/core_plugins/metrics/public/components/vis_editor/series_editor.js +++ b/src/core_plugins/metrics/public/components/vis_editor/series_editor.js @@ -47,7 +47,7 @@ export default React.createClass({ key={row.id} sortData={row.id} model={row} - panelType={model.type} + panel={model} onClone={() => this.handleClone(row)} onAdd={handleAdd.bind(null, props, newSeriesFn)} onDelete={handleDelete.bind(null, props, row)} diff --git a/src/core_plugins/metrics/public/components/vis_editor/split.js b/src/core_plugins/metrics/public/components/vis_editor/split.js index 9c24af8a21c0e..b21b6ed347911 100644 --- a/src/core_plugins/metrics/public/components/vis_editor/split.js +++ b/src/core_plugins/metrics/public/components/vis_editor/split.js @@ -24,12 +24,13 @@ export default React.createClass({ }, render() { - const { model } = this.props; + const { model, panel } = this.props; const modeOptions = [ { label: 'Everything', value: 'everything' }, { label: 'Filter', value: 'filter' }, { label: 'Terms', value: 'terms' } ]; + const indexPattern = model.override_index_pattern && model.series_index_pattern || panel.index_pattern; const modeSelect = (