mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
feat(influxdb): minor progress on new editor
This commit is contained in:
parent
c68cd7d19a
commit
9b4150509c
@ -3,11 +3,11 @@ define([
|
|||||||
'lodash',
|
'lodash',
|
||||||
'app/core/utils/datemath',
|
'app/core/utils/datemath',
|
||||||
'./influx_series',
|
'./influx_series',
|
||||||
'./query_builder',
|
'./influx_query',
|
||||||
'./directives',
|
'./directives',
|
||||||
'./query_ctrl',
|
'./query_ctrl',
|
||||||
],
|
],
|
||||||
function (angular, _, dateMath, InfluxSeries, InfluxQueryBuilder) {
|
function (angular, _, dateMath, InfluxSeries, InfluxQuery) {
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var module = angular.module('grafana.services');
|
var module = angular.module('grafana.services');
|
||||||
@ -41,8 +41,9 @@ function (angular, _, dateMath, InfluxSeries, InfluxQueryBuilder) {
|
|||||||
queryTargets.push(target);
|
queryTargets.push(target);
|
||||||
|
|
||||||
// build query
|
// build query
|
||||||
var queryBuilder = new InfluxQueryBuilder(target);
|
var queryModel = new InfluxQuery(target);
|
||||||
var query = queryBuilder.build();
|
var query = queryModel.render();
|
||||||
|
console.log(query);
|
||||||
query = query.replace(/\$interval/g, (target.interval || options.interval));
|
query = query.replace(/\$interval/g, (target.interval || options.interval));
|
||||||
return query;
|
return query;
|
||||||
|
|
||||||
|
@ -18,7 +18,8 @@ class InfluxQuery {
|
|||||||
target.tags = target.tags || [];
|
target.tags = target.tags || [];
|
||||||
target.groupBy = target.groupBy || [{type: 'time', interval: 'auto'}];
|
target.groupBy = target.groupBy || [{type: 'time', interval: 'auto'}];
|
||||||
target.select = target.select || [[
|
target.select = target.select || [[
|
||||||
{name: 'mean', params: ['value']},
|
{name: 'field', params: ['value']},
|
||||||
|
{name: 'mean', params: []},
|
||||||
]];
|
]];
|
||||||
|
|
||||||
this.updateSelectParts();
|
this.updateSelectParts();
|
||||||
|
@ -87,42 +87,13 @@
|
|||||||
<li>
|
<li>
|
||||||
<influx-query-part-editor part="part" class="tight-form-item tight-form-func"></influx-query-part-editor>
|
<influx-query-part-editor part="part" class="tight-form-item tight-form-func"></influx-query-part-editor>
|
||||||
</li>
|
</li>
|
||||||
<!-- <li class="dropdown" ng-if="groupBy.type === 'time'"> -->
|
<li class="dropdown" dropdown-typeahead="groupByMenu" dropdown-typeahead-on-select="groupByMenuAction(parts, $item, $subItem)">
|
||||||
<!-- <a class="tight-form-item pointer" data-toggle="dropdown" bs-tooltip="'Insert missing values, important when stacking'" data-placement="right"> -->
|
|
||||||
<!-- <span ng-show="target.fill"> -->
|
|
||||||
<!-- fill ({{target.fill}}) -->
|
|
||||||
<!-- </span> -->
|
|
||||||
<!-- <span ng-show="!target.fill"> -->
|
|
||||||
<!-- no fill -->
|
|
||||||
<!-- </span> -->
|
|
||||||
<!-- </a> -->
|
|
||||||
<!-- <ul class="dropdown-menu"> -->
|
|
||||||
<!-- <li><a ng-click="setFill('')">no fill</a></li> -->
|
|
||||||
<!-- <li><a ng-click="setFill('0')">fill (0)</a></li> -->
|
|
||||||
<!-- <li><a ng-click="setFill('null')">fill (null)</a></li> -->
|
|
||||||
<!-- <li><a ng-click="setFill('none')">fill (none)</a></li> -->
|
|
||||||
<!-- <li><a ng-click="setFill('previous')">fill (previous)</a></li> -->
|
|
||||||
<!-- </ul> -->
|
|
||||||
<!-- </li> -->
|
|
||||||
<!-- <li ng-if="groupBy.type === 'tag'"> -->
|
|
||||||
<!-- <metric-segment-model property="groupBy.key" get-options="getTagOptions()" on-change="get_data()"></metric-segment> -->
|
|
||||||
<!-- </li> -->
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<ul class="tight-form-list pull-right">
|
|
||||||
<li class="tight-form-item last" ng-show="$index === 0">
|
|
||||||
<a class="pointer" ng-click="addGroupBy()"><i class="fa fa-plus"></i></a>
|
|
||||||
</li>
|
|
||||||
<li class="tight-form-item last" ng-show="$index > 0">
|
|
||||||
<a class="pointer" ng-click="removeGroupBy($index)"><i class="fa fa-minus"></i></a>
|
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<div class="clearfix"></div>
|
<div class="clearfix"></div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<div class="tight-form">
|
<div class="tight-form">
|
||||||
<ul class="tight-form-list">
|
<ul class="tight-form-list">
|
||||||
<li class="tight-form-item query-keyword tight-form-align" style="width: 75px;">
|
<li class="tight-form-item query-keyword tight-form-align" style="width: 75px;">
|
||||||
|
@ -8,6 +8,7 @@ var categories = {
|
|||||||
Transformations: [],
|
Transformations: [],
|
||||||
Math: [],
|
Math: [],
|
||||||
Aliasing: [],
|
Aliasing: [],
|
||||||
|
Fields: [],
|
||||||
};
|
};
|
||||||
|
|
||||||
class QueryPartDef {
|
class QueryPartDef {
|
||||||
@ -64,19 +65,27 @@ function quotedIdentityRenderer(part, innerExpr) {
|
|||||||
return '"' + part.params[0] + '"';
|
return '"' + part.params[0] + '"';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QueryPartDef.register({
|
||||||
|
name: 'field',
|
||||||
|
category: categories.Fields,
|
||||||
|
params: [{type: 'field'}],
|
||||||
|
defaultParams: ['value'],
|
||||||
|
renderer: quotedIdentityRenderer,
|
||||||
|
});
|
||||||
|
|
||||||
QueryPartDef.register({
|
QueryPartDef.register({
|
||||||
name: 'mean',
|
name: 'mean',
|
||||||
category: categories.Aggregations,
|
category: categories.Aggregations,
|
||||||
params: [{type: 'field', quote: 'double'}],
|
params: [],
|
||||||
defaultParams: ['value'],
|
defaultParams: [],
|
||||||
renderer: functionRenderer,
|
renderer: functionRenderer,
|
||||||
});
|
});
|
||||||
|
|
||||||
QueryPartDef.register({
|
QueryPartDef.register({
|
||||||
name: 'sum',
|
name: 'sum',
|
||||||
category: categories.Aggregations,
|
category: categories.Aggregations,
|
||||||
params: [{type: 'field', quote: 'double'}],
|
params: [],
|
||||||
defaultParams: ['value'],
|
defaultParams: [],
|
||||||
renderer: functionRenderer,
|
renderer: functionRenderer,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -21,7 +21,8 @@ describe.only('InfluxQuery', function() {
|
|||||||
measurement: 'cpu',
|
measurement: 'cpu',
|
||||||
select: [
|
select: [
|
||||||
[
|
[
|
||||||
{name: 'mean', params: ['value']},
|
{name: 'field', params: ['value']},
|
||||||
|
{name: 'mean', params: []},
|
||||||
{name: 'math', params: ['/100']},
|
{name: 'math', params: ['/100']},
|
||||||
{name: 'alias', params: ['text']},
|
{name: 'alias', params: ['text']},
|
||||||
]
|
]
|
||||||
|
Loading…
Reference in New Issue
Block a user