Masafumi Yokoyama
null+****@clear*****
Mon Feb 15 21:00:01 JST 2016
Masafumi Yokoyama 2016-02-15 21:00:01 +0900 (Mon, 15 Feb 2016) New Revision: bfcf95770cf68fe15b5791538e48d0f1bb13cefe https://github.com/groonga/grafana-datasource-plugin-groonga/commit/bfcf95770cf68fe15b5791538e48d0f1bb13cefe Message: Accept target column by form Modified files: datasource.js partials/query.editor.html query_ctrl.js Modified: datasource.js (+17 -17) =================================================================== --- datasource.js 2016-02-15 20:28:09 +0900 (862b672) +++ datasource.js 2016-02-15 21:00:01 +0900 (6287c71) @@ -34,40 +34,40 @@ function (angular) { GroongaDatasource.prototype.query = function(options) { var target = options.targets[0]; - var selectOptions = { - table: target.table, - filter: 'between(timestamp, ' + - options.range.from.unix() + ', "include", ' + - options.range.to.unix() + ', "include")', - 'drilldown[code].keys': 'timestamp, code', - 'drilldown[code].output_columns': '_value.timestamp, _value.code, _nsubrecs', - 'drilldown[code].sortby': '_value.timestamp', - 'drilldown[code].limit': -1 - }; + var column = target.column; + var selectOptions = {}; + selectOptions.table = target.table, + selectOptions.filter = 'between(timestamp, ' + + options.range.from.unix() + ', "include", ' + + options.range.to.unix() + ', "include")'; + selectOptions['drilldown[' + column + '].keys'] = 'timestamp, ' + column; + selectOptions['drilldown[' + column + '].output_columns'] = '_value.timestamp, _value.' + column + ', _nsubrecs'; + selectOptions['drilldown[' + column + '].sortby'] = '_value.timestamp'; + selectOptions['drilldown[' + column + '].limit'] = -1; var requestOptions = { url: this.datasource.url + '/d/select?' + params(selectOptions) }; return backendSrv.datasourceRequest(requestOptions).then(function(result) { var data = []; var seriesSet = {}; - var drilldown = result.data[1][1].code; + var drilldown = result.data[1][1][column]; var i; for (i = 2; i < drilldown.length; i++) { var record = drilldown[i]; var timestamp = record[0]; - var code = record[1]; - var nCodes = record[2]; - var series = seriesSet[code]; + var value = record[1]; + var nValues = record[2]; + var series = seriesSet[value]; var datapoints; if (!series) { - series = seriesSet[code] = { - target: code, + series = seriesSet[value] = { + target: value, datapoints: [] }; data.push(series); } datapoints = series.datapoints; - datapoints.push([nCodes, timestamp * 1000]); + datapoints.push([nValues, timestamp * 1000]); } return {data: data}; }); Modified: partials/query.editor.html (+12 -0) =================================================================== --- partials/query.editor.html 2016-02-15 20:28:09 +0900 (513106d) +++ partials/query.editor.html 2016-02-15 21:00:01 +0900 (74d3340) @@ -13,6 +13,18 @@ spellcheck='false' placeholder="Logs"> </li> + <li class="tight-form-item query-keyword" + style="width: 75px"> + COLUMN + </li> + <li> + <input type="text" + class="tight-form-input input-medium" + ng-model="column" + ng-model-onblur + ng-change="update()" + spellcheck='false'> + </li> </ul> <div class="clearfix"></div> </div> Modified: query_ctrl.js (+1 -0) =================================================================== --- query_ctrl.js 2016-02-15 20:28:09 +0900 (fd96110) +++ query_ctrl.js 2016-02-15 21:00:01 +0900 (3e407b3) @@ -16,6 +16,7 @@ function (angular) { $scope.update = function () { console.log('update'); $scope.target.table = $scope.table; + $scope.target.column = $scope.column; $scope.get_data(); } -------------- next part -------------- HTML����������������������������...Download