diff --git a/public/app/plugins/datasource/influxdb/partials/query.editor.html b/public/app/plugins/datasource/influxdb/partials/query.editor.html index 8263db8e594..9fb39ad5abe 100644 --- a/public/app/plugins/datasource/influxdb/partials/query.editor.html +++ b/public/app/plugins/datasource/influxdb/partials/query.editor.html @@ -65,15 +65,12 @@
-
+
  • SELECT
  • -
  • - -
  • -
  • +
  • diff --git a/public/app/plugins/datasource/influxdb/query_ctrl.js b/public/app/plugins/datasource/influxdb/query_ctrl.js index 061a771c623..247205ab39d 100644 --- a/public/app/plugins/datasource/influxdb/query_ctrl.js +++ b/public/app/plugins/datasource/influxdb/query_ctrl.js @@ -18,14 +18,25 @@ function (angular, _, InfluxQueryBuilder, queryPart) { var target = $scope.target; target.tags = target.tags || []; target.groupBy = target.groupBy || [{type: 'time', interval: 'auto'}]; - target.fields = target.fields || [{name: 'value', func: target.function || 'mean'}]; - target.fields[0].parts = [ - queryPart.create('mean', { withDefaultParams: true }), - queryPart.create('derivate', { withDefaultParams: true }), - queryPart.create('math', { withDefaultParams: true }), - queryPart.create('alias', { withDefaultParams: true }), + target.fields = target.fields || [{name: 'value'}]; + target.select = target.select || [[{type: 'field', params: ['value']}]]; + target.select[0] = [ + {type: 'field', params: ['value']}, + {type: 'mean', params: []}, + {type: 'derivate', params: ['10s']}, + {type: 'math', params: ['/ 100']}, + {type: 'alias', params: ['google']}, ]; + $scope.select = _.map(target.select, function(parts) { + return _.map(parts, function(part) { + var partModel = queryPart.create(part.type); + partModel.params = part.params; + partModel.updateText(); + return partModel; + }); + }); + $scope.func = queryPart.create('time', { withDefaultParams: true }); $scope.queryBuilder = new InfluxQueryBuilder(target); diff --git a/public/app/plugins/datasource/influxdb/query_part.js b/public/app/plugins/datasource/influxdb/query_part.js index 44394a50cdb..37433d54951 100644 --- a/public/app/plugins/datasource/influxdb/query_part.js +++ b/public/app/plugins/datasource/influxdb/query_part.js @@ -25,6 +25,13 @@ function (_, $) { index[funcDef.shortName || funcDef.name] = funcDef; } + addFuncDef({ + name: 'field', + category: categories.Transform, + params: [{type: 'field'}], + defaultParams: ['value'], + }); + addFuncDef({ name: 'mean', category: categories.Transform, diff --git a/public/app/plugins/datasource/influxdb/query_part_editor.js b/public/app/plugins/datasource/influxdb/query_part_editor.js index 6c1f268a9d1..fd0dc3e1a6b 100644 --- a/public/app/plugins/datasource/influxdb/query_part_editor.js +++ b/public/app/plugins/datasource/influxdb/query_part_editor.js @@ -16,10 +16,8 @@ function (angular, _, $) { var funcControlsTemplate = '
    ' + - '' + '' + '' + - '' + '
    '; return {