| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- import _ from 'lodash';
- import './query_filter_ctrl';
- import { react2AngularDirective } from 'app/core/utils/react2angular';
- import { AnnotationQueryEditor } from './components/AnnotationQueryEditor';
- export class StackdriverAnnotationsQueryCtrl {
- static templateUrl = 'partials/annotations.editor.html';
- annotation: any;
- datasource: any;
- defaultDropdownValue = 'Select Metric';
- defaultServiceValue = 'All Services';
- defaults = {
- project: {
- id: 'default',
- name: 'loading project...',
- },
- metricType: this.defaultDropdownValue,
- service: this.defaultServiceValue,
- metric: '',
- filters: [],
- metricKind: '',
- valueType: '',
- };
- /** @ngInject */
- constructor() {
- this.annotation.target = this.annotation.target || {};
- this.annotation.target.refId = 'annotationQuery';
- _.defaultsDeep(this.annotation.target, this.defaults);
- this.handleQueryChange = this.handleQueryChange.bind(this);
- react2AngularDirective('annotationQueryEditor', AnnotationQueryEditor, [
- 'target',
- 'onQueryChange',
- 'onExecuteQuery',
- ['datasource', { watchDepth: 'reference' }],
- ]);
- }
- handleQueryChange(target) {
- Object.assign(this.annotation.target, target);
- }
- }
|