Commit f0f19e0c by Erik Sundell Committed by Daniel Lee

Adds stackdriver frontend skeleton

parent 0e9a6dce
export class StackdriverConfigCtrl {
static templateUrl = 'public/app/plugins/datasource/stackdriver/partials/config.html';
datasourceSrv: any;
current: any;
/** @ngInject */
constructor($scope, datasourceSrv) {
this.datasourceSrv = datasourceSrv;
this.current.jsonData = this.current.jsonData || {};
}
}
/** @ngInject */
export function StackdriverDatasource(this: any, instanceSettings, $q, backendSrv, templateSrv) {
// this.basicAuth = instanceSettings.basicAuth;
// this.url = instanceSettings.url;
// this.name = instanceSettings.name;
// this.graphiteVersion = instanceSettings.jsonData.graphiteVersion || '0.9';
// this.supportsTags = supportsTags(this.graphiteVersion);
// this.cacheTimeout = instanceSettings.cacheTimeout;
// this.withCredentials = instanceSettings.withCredentials;
// this.render_method = instanceSettings.render_method || 'POST';
// this.funcDefs = null;
// this.funcDefsPromise = null;
}
// import { StackdriverDatasource } from './datasource';
// import { StackdriverQueryCtrl } from './query_ctrl';
import { StackdriverConfigCtrl } from './config_ctrl';
// class AnnotationsQueryCtrl {
// static templateUrl = 'partials/annotations.editor.html';
// }
export {
// StackdriverDatasource as Datasource,
// StackdriverQueryCtrl as QueryCtrl,
StackdriverConfigCtrl as ConfigCtrl,
// AnnotationsQueryCtrl,
};
<div class="gf-form-group">
<div class="gf-form">
<span class="gf-form-label width-12">Graphite query</span>
<input type="text" class="gf-form-input" ng-model='ctrl.annotation.target' placeholder="Example: statsd.application.counters.*.count"></input>
</div>
<h5 class="section-heading">Or</h5>
<div class="gf-form">
<span class="gf-form-label width-12">Graphite events tags</span>
<input type="text" class="gf-form-input" ng-model='ctrl.annotation.tags' placeholder="Example: event_tag_name"></input>
</div>
</div>
<datasource-http-settings
current="ctrl.current"
suggest-url="http://localhost:8080">
</datasource-http-settings>
<h3 class="page-heading">Hello Stackdriver</h3>
<query-editor-row query-ctrl="ctrl" has-text-edit-mode="true">
<div class="gf-form" ng-show="ctrl.target.textEditor">
<input type="text" class="gf-form-input" ng-model="ctrl.target.target" spellcheck="false" ng-blur="ctrl.targetTextChanged()"></input>
</div>
<div ng-hide="ctrl.target.textEditor">
<div class="gf-form-inline">
<div class="gf-form">
<label class="gf-form-label width-6 query-keyword">Series</label>
</div>
<div ng-if="ctrl.queryModel.seriesByTagUsed" ng-repeat="tag in ctrl.queryModel.tags" class="gf-form">
<gf-form-dropdown
model="tag.key"
allow-custom="true"
label-mode="true"
debounce="true"
placeholder="Tag key"
css-class="query-segment-key"
get-options="ctrl.getTags($index, $query)"
on-change="ctrl.tagChanged(tag, $index)"
/>
<gf-form-dropdown
model="tag.operator"
label-mode="true"
css-class="query-segment-operator"
get-options="ctrl.getTagOperators()"
on-change="ctrl.tagChanged(tag, $index)"
min-input-width="30"
/>
<gf-form-dropdown
model="tag.value"
allow-custom="true"
label-mode="true"
debounce="true"
css-class="query-segment-value"
placeholder="Tag value"
get-options="ctrl.getTagValues(tag, $index, $query)"
on-change="ctrl.tagChanged(tag, $index)"
/>
<label class="gf-form-label query-keyword" ng-if="ctrl.showDelimiter($index)">AND</label>
</div>
<div ng-if="ctrl.queryModel.seriesByTagUsed" ng-repeat="segment in ctrl.addTagSegments" role="menuitem" class="gf-form">
<metric-segment segment="segment" get-options="ctrl.getTagsAsSegments($query)" on-change="ctrl.addNewTag(segment)" debounce="true" />
</div>
<div ng-if="!ctrl.queryModel.seriesByTagUsed" ng-repeat="segment in ctrl.segments" role="menuitem" class="gf-form">
<metric-segment segment="segment" get-options="ctrl.getAltSegments($index, $query)" on-change="ctrl.segmentValueChanged(segment, $index)" />
</div>
<div ng-if="ctrl.paused" class="gf-form">
<a ng-click="ctrl.unpause()" class="gf-form-label query-part"><i class="fa fa-play"></i></a>
</div>
<div class="gf-form gf-form--grow">
<div class="gf-form-label gf-form-label--grow"></div>
</div>
</div>
<div class="gf-form-inline">
<div class="gf-form">
<label class="gf-form-label width-6 query-keyword">Functions</label>
</div>
<div ng-repeat="func in ctrl.queryModel.functions" class="gf-form">
<span graphite-func-editor class="gf-form-label query-part" ng-hide="func.hidden"></span>
</div>
<div class="gf-form dropdown">
<span graphite-add-func></span>
</div>
<div class="gf-form gf-form--grow">
<div class="gf-form-label gf-form-label--grow"></div>
</div>
</div>
</div>
</query-editor-row>
{
"name": "Stackdriver",
"type": "datasource",
"id": "stackdriver",
"metrics": true,
"alerting": false,
"annotations": false,
"queryOptions": {
"maxDataPoints": true,
"cacheTimeout": true
},
"info": {
"description": "Data Source for Stackdriver",
"version": "1.0.0"
}
}
\ No newline at end of file
import './add_graphite_func';
import './func_editor';
import { QueryCtrl } from 'app/plugins/sdk';
export class StackdriverQueryCtrl extends QueryCtrl {
static templateUrl = 'partials/query.editor.html';
/** @ngInject */
constructor($scope, $injector) {
super($scope, $injector);
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment