mirror of
https://github.com/grafana/grafana.git
synced 2025-02-14 17:43:35 -06:00
* Add and configure eslint-plugin-import * Fix the lint:ts npm command * Autofix + prettier all the files * Manually fix remaining files * Move jquery code in jest-setup to external file to safely reorder imports * Resolve issue caused by circular dependencies within Prometheus * Update .betterer.results * Fix missing // @ts-ignore * ignore iconBundle.ts * Fix missing // @ts-ignore
59 lines
1.6 KiB
TypeScript
59 lines
1.6 KiB
TypeScript
import { DataSourcePlugin } from '@grafana/data';
|
|
|
|
import {
|
|
createChangeHandler,
|
|
createResetHandler,
|
|
PasswordFieldEnum,
|
|
} from '../../../features/datasources/utils/passwordHandlers';
|
|
|
|
import { MysqlDatasource } from './datasource';
|
|
import { MysqlQueryCtrl } from './query_ctrl';
|
|
import { MySQLQuery } from './types';
|
|
|
|
class MysqlConfigCtrl {
|
|
static templateUrl = 'partials/config.html';
|
|
current: any;
|
|
onPasswordReset: ReturnType<typeof createResetHandler>;
|
|
onPasswordChange: ReturnType<typeof createChangeHandler>;
|
|
|
|
constructor() {
|
|
this.onPasswordReset = createResetHandler(this, PasswordFieldEnum.Password);
|
|
this.onPasswordChange = createChangeHandler(this, PasswordFieldEnum.Password);
|
|
}
|
|
}
|
|
|
|
const defaultQuery = `SELECT
|
|
UNIX_TIMESTAMP(<time_column>) as time_sec,
|
|
<text_column> as text,
|
|
<tags_column> as tags
|
|
FROM <table name>
|
|
WHERE $__timeFilter(time_column)
|
|
ORDER BY <time_column> ASC
|
|
LIMIT 100
|
|
`;
|
|
|
|
class MysqlAnnotationsQueryCtrl {
|
|
static templateUrl = 'partials/annotations.editor.html';
|
|
|
|
declare annotation: any;
|
|
|
|
/** @ngInject */
|
|
constructor($scope: any) {
|
|
this.annotation = $scope.ctrl.annotation;
|
|
this.annotation.rawQuery = this.annotation.rawQuery || defaultQuery;
|
|
}
|
|
}
|
|
|
|
export {
|
|
MysqlDatasource,
|
|
MysqlDatasource as Datasource,
|
|
MysqlQueryCtrl as QueryCtrl,
|
|
MysqlConfigCtrl as ConfigCtrl,
|
|
MysqlAnnotationsQueryCtrl as AnnotationsQueryCtrl,
|
|
};
|
|
|
|
export const plugin = new DataSourcePlugin<MysqlDatasource, MySQLQuery>(MysqlDatasource)
|
|
.setQueryCtrl(MysqlQueryCtrl)
|
|
.setConfigCtrl(MysqlConfigCtrl)
|
|
.setAnnotationQueryCtrl(MysqlAnnotationsQueryCtrl);
|