change timescaledb to checkbox instead of select

This commit is contained in:
Sven Klemm
2018-08-09 09:19:16 +02:00
parent b987aee7cf
commit c3aad10047
4 changed files with 4 additions and 28 deletions

View File

@ -123,27 +123,9 @@ export class PostgresDatasource {
.then(data => this.responseParser.parseMetricFindQueryResult(refId, data));
}
testDatasource(control) {
testDatasource() {
return this.metricFindQuery('SELECT 1', {})
.then(res => {
if (control.current.jsonData.timescaledb === 'auto') {
return this.metricFindQuery("SELECT 1 FROM pg_extension WHERE extname='timescaledb'", {})
.then(res => {
if (res.length === 1) {
control.current.jsonData.timescaledb = 'enabled';
return this.backendSrv.put('/api/datasources/' + this.id, control.current).then(settings => {
control.current = settings.datasource;
control.updateFrontendSettings();
return { status: 'success', message: 'Database Connection OK, TimescaleDB found' };
});
}
throw new Error('timescaledb not found');
})
.catch(err => {
// query errored out or empty so timescaledb is not available
return { status: 'success', message: 'Database Connection OK' };
});
}
return { status: 'success', message: 'Database Connection OK' };
})
.catch(err => {

View File

@ -42,13 +42,7 @@
<div class="gf-form-group">
<div class="gf-form">
<label class="gf-form-label width-7">TimescaleDB</label>
<div class="gf-form-select-wrapper max-width-8 gf-form-select-wrapper--has-help-icon">
<select class="gf-form-input" ng-model="ctrl.current.jsonData.timescaledb" ng-options="mode for mode in ['auto', 'enabled', 'disabled']" ng-init="ctrl.current.jsonData.timescaledb=ctrl.current.jsonData.timescaledb || 'auto'"></select>
<info-popover mode="right-absolute">
This option determines whether TimescaleDB features will be used.
</info-popover>
</div>
<gf-form-switch class="gf-form" label="TimescaleDB" tooltip="Use TimescaleDB features in Grafana" label-class="width-9" checked="ctrl.current.jsonData.timescaledb" switch-class="max-width-6"></gf-form-switch>
</div>
</div>