Skip to content

Commit

Permalink
adding index pattern option to series
Browse files Browse the repository at this point in the history
  • Loading branch information
simianhacker committed Jan 17, 2017
1 parent 16b7469 commit 1e64c7c
Show file tree
Hide file tree
Showing 28 changed files with 137 additions and 75 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -33,7 +33,7 @@ export default React.createClass({
<div className="vis_editor__label">Aggregation</div>
<AggSelect
siblings={this.props.siblings}
panelType={panelType}
panelType={panel.type}
value={model.type}
onChange={handleSelectChange('type')}/>
<div className="vis_editor__row_item" style={{ margin: '10px 0' }}>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 (
Expand All @@ -15,7 +15,7 @@ export default React.createClass({
<div className="vis_editor__label">Aggregation</div>
<AggSelect
siblings={this.props.siblings}
panelType={panelType}
panelType={panel.type}
value={model.type}
onChange={handleSelectChange('type')}/>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -21,7 +21,7 @@ export default React.createClass({
<div className="vis_editor__label">Aggregation</div>
<AggSelect
siblings={this.props.siblings}
panelType={panelType}
panelType={panel.type}
value={model.type}
onChange={handleSelectChange('type')}/>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 (<div style={{ display: 'none' }}/>);
}
const options = fields
const options = (fields[indexPattern] || [])
.filter(generateByTypeFilter(this.props.restrict))
.map(field => {
return { label: field.name, value: field.name };
Expand All @@ -24,6 +29,7 @@ export default React.createClass({
return (
<Select
placeholder="Select field..."
disabled={this.props.disabled}
options={options}
value={this.props.value}
onChange={this.props.onChange}/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import createTextHandler from '../../../lib/create_text_handler';
import createNumberHandler from '../../../lib/create_number_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);
const handleTextChange = createTextHandler(handleChange, this.refs);
Expand All @@ -33,7 +33,7 @@ export default React.createClass({
<div className="vis_editor__label">Aggregation</div>
<AggSelect
siblings={this.props.siblings}
panelType={panelType}
panelType={panel.type}
value={model.type}
onChange={handleSelectChange('type')}/>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,11 +114,12 @@ export default React.createClass({
},

render() {
const { model, panelType, fields } = this.props;
const { model, panel, fields } = this.props;

const handleChange = createChangeHandler(this.props.onChange, model);
const handleSelectChange = createSelectHandler(handleChange);
const handleNumberChange = createNumberHandler(handleChange);
const indexPattern = model.override_index_pattern && model.series_index_pattern || panel.index_pattern;

return (
<AggRow {...this.props}>
Expand All @@ -128,7 +129,7 @@ export default React.createClass({
<div className="vis_editor__label">Aggregation</div>
<AggSelect
siblings={this.props.siblings}
panelType={panelType}
panelType={panel.type}
value={model.type}
onChange={handleSelectChange('type')}/>
</div>
Expand All @@ -138,6 +139,7 @@ export default React.createClass({
fields={fields}
type={model.type}
restrict="numeric"
indexPattern={indexPattern}
value={model.field}
onChange={handleSelectChange('field')}/>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import createSelectHandler from '../../../lib/create_select_handler';
export default React.createClass({

render() {
const { model, panelType, fields } = this.props;
const { model, panel, fields } = this.props;

const handleChange = createChangeHandler(this.props.onChange, model);
const handleSelectChange = createSelectHandler(handleChange);
Expand All @@ -31,7 +31,7 @@ export default React.createClass({
<div className="vis_editor__label">Aggregation</div>
<AggSelect
siblings={this.props.siblings}
panelType={panelType}
panelType={panel.type}
value={model.type}
onChange={handleSelectChange('type')}/>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import createSelectHandler from '../../../lib/create_select_handler';
export default React.createClass({

render() {
const { model, panelType, fields } = this.props;
const { model, panel, fields } = this.props;

const handleChange = createChangeHandler(this.props.onChange, model);
const handleSelectChange = createSelectHandler(handleChange);
Expand All @@ -17,13 +17,15 @@ export default React.createClass({
restrict = 'string';
}

const indexPattern = model.override_index_pattern || model.series_index_pattern || panel.index_pattern;

return (
<AggRow {...this.props}>
<div className="vis_editor__item">
<div className="vis_editor__label">Aggregation</div>
<AggSelect
siblings={this.props.siblings}
panelType={panelType}
panelType={panel.type}
value={model.type}
onChange={handleSelectChange('type')}/>
</div>
Expand All @@ -33,6 +35,7 @@ export default React.createClass({
fields={fields}
type={model.type}
restrict={restrict}
indexPattern={indexPattern}
value={model.field}
onChange={handleSelectChange('field')}/>
</div>) : (<div style={{ display: 'none' }}/>) }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import createTextHandler from '../../../lib/create_text_handler';
export default React.createClass({

render() {
const { model, panelType, fields } = this.props;
const { model, panel, fields } = this.props;

const modeOptions = [
{ label: 'Raw', value: 'raw' },
Expand All @@ -24,13 +24,15 @@ export default React.createClass({
const handleSelectChange = createSelectHandler(handleChange);
const handleTextChange = createTextHandler(handleChange, this.refs);

const indexPattern = model.override_index_pattern && model.series_index_pattern || panel.index_pattern;

return (
<AggRow {...this.props}>
<div className="vis_editor__row_item">
<div className="vis_editor__label">Aggregation</div>
<AggSelect
siblings={this.props.siblings}
panelType={panelType}
panelType={panel.type}
value={model.type}
onChange={handleSelectChange('type')}/>
</div>
Expand All @@ -40,6 +42,7 @@ export default React.createClass({
fields={fields}
type={model.type}
restrict="numeric"
indexPattern={indexPattern}
value={model.field}
onChange={handleSelectChange('field')}/>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,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);
Expand Down Expand Up @@ -54,7 +54,7 @@ export default React.createClass({
<div className="vis_editor__label">Aggregation</div>
<AggSelect
siblings={this.props.siblings}
panelType={panelType}
panelType={panel.type}
value={model.type}
onChange={handleSelectChange('type')}/>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,32 +5,47 @@ import createSelectHandler from '../../lib/create_select_handler';
import createTextHandler from '../../lib/create_text_handler';
export default React.createClass({

getDefaultProps() {
return {
prefix: '',
disabled: false,
className: 'vis_editor__row'
};
},

render() {
const { model, fields } = this.props;
const { model, fields, prefix } = this.props;
const handleSelectChange = createSelectHandler(this.props.onChange);
const handleTextChange = createTextHandler(this.props.onChange, this.refs);
const timeFieldName = `${prefix}time_field`;
const indexPatternName = `${prefix}index_pattern`;
const intervalName = `${prefix}interval`;
return (
<div className="vis_editor__row">
<div className={this.props.className}>
<div className="vis_editor__label">Index Pattern</div>
<input
className="vis_editor__input"
ref="index_pattern"
onChange={handleTextChange('index_pattern', '*')}
defaultValue={model.index_pattern || '*'}/>
ref={indexPatternName}
disabled={this.props.disabled}
onChange={handleTextChange(indexPatternName, '*')}
defaultValue={model[indexPatternName] || '*'}/>
<div className="vis_editor__label">Time Field</div>
<div className="vis_editor__index_pattern-fields">
<FieldSelect
restrict="date"
value={model.time_field}
onChange={handleSelectChange('time_field')}
value={model[timeFieldName]}
disabled={this.props.disabled}
onChange={handleSelectChange(timeFieldName)}
indexPattern={model[indexPatternName]}
fields={fields}/>
</div>
<div className="vis_editor__label">Interval (auto, 1m, 1d, 1w, 1y)</div>
<input
className="vis_editor__input"
ref="interval"
onChange={handleTextChange('interval', 'auto')}
defaultValue={model.interval || 'auto'}/>
ref={intervalName}
disabled={this.props.disabled}
onChange={handleTextChange(intervalName, 'auto')}
defaultValue={model[intervalName] || 'auto'}/>
</div>
);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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,
Expand All @@ -59,6 +59,6 @@ export default sortable(React.createClass({
};
return (<Component {...params}/>);
}
return (<div>Missing Series component for panel type: {panelType}</div>);
return (<div>Missing Series component for panel type: {panel.type}</div>);
}
}));
Original file line number Diff line number Diff line change
Expand Up @@ -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 (
<Agg
key={row.id}
sortData={row.id}
panelType={model.type}
panel={panel}
siblings={items}
model={row}
onAdd={handleAdd.bind(null, props, newMetricAggFn)}
Expand All @@ -36,6 +36,7 @@ export default React.createClass({

render() {
const {
panel,
model,
fields,
onAdd,
Expand Down Expand Up @@ -86,6 +87,7 @@ export default React.createClass({
<Split
onChange={this.props.handleChange}
fields={fields}
panel={panel}
model={model}/>
</div>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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 (
<Agg
key={row.id}
sortData={row.id}
panelType={model.type}
panel={panel}
siblings={items}
model={row}
onAdd={handleAdd.bind(null, props, newMetricAggFn)}
Expand All @@ -37,6 +37,7 @@ export default React.createClass({

render() {
const {
panel,
model,
fields,
onAdd,
Expand Down Expand Up @@ -87,6 +88,7 @@ export default React.createClass({
<Split
onChange={this.props.handleChange}
fields={fields}
panel={panel}
model={model}/>
</div>
</div>
Expand Down
Loading

0 comments on commit 1e64c7c

Please sign in to comment.