poc(influxdb v3 editor): more testing of new influxdb editor approach

This commit is contained in:
Torkel Ödegaard
2015-09-29 21:32:15 +02:00
parent e70b99a706
commit 2dc8fcd3be
4 changed files with 26 additions and 13 deletions
@@ -65,15 +65,12 @@
<div ng-hide="target.rawQuery">
<div class="tight-form" ng-repeat="field in target.fields">
<div class="tight-form" ng-repeat="parts in select">
<ul class="tight-form-list">
<li class="tight-form-item query-keyword tight-form-align" style="width: 75px;">
<span ng-show="$index === 0">SELECT</span>
</li>
<li>
<metric-segment-model property="field.name" get-options="getFields()" on-change="get_data()"></metric-segment>
</li>
<li ng-repeat="func in field.parts">
<li ng-repeat="func in parts">
<span influx-query-part-editor class="tight-form-item tight-form-func">
</span>
</li>
@@ -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);
@@ -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,
@@ -16,10 +16,8 @@ function (angular, _, $) {
var funcControlsTemplate =
'<div class="tight-form-func-controls">' +
'<span class="pointer fa fa-arrow-left"></span>' +
'<span class="pointer fa fa-question-circle"></span>' +
'<span class="pointer fa fa-remove" ></span>' +
'<span class="pointer fa fa-arrow-right"></span>' +
'</div>';
return {