|
@@ -72,6 +72,12 @@ export class DataSourceSettingsPage extends PureComponent<Props, State> {
|
|
|
this.testDataSource();
|
|
this.testDataSource();
|
|
|
};
|
|
};
|
|
|
|
|
|
|
|
|
|
+ onTest = async (evt: React.FormEvent<HTMLFormElement>) => {
|
|
|
|
|
+ evt.preventDefault();
|
|
|
|
|
+
|
|
|
|
|
+ this.testDataSource();
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
onDelete = () => {
|
|
onDelete = () => {
|
|
|
appEvents.emit('confirm-modal', {
|
|
appEvents.emit('confirm-modal', {
|
|
|
title: 'Delete',
|
|
title: 'Delete',
|
|
@@ -180,52 +186,55 @@ export class DataSourceSettingsPage extends PureComponent<Props, State> {
|
|
|
return (
|
|
return (
|
|
|
<Page navModel={navModel}>
|
|
<Page navModel={navModel}>
|
|
|
<Page.Contents isLoading={!this.hasDataSource}>
|
|
<Page.Contents isLoading={!this.hasDataSource}>
|
|
|
- {this.hasDataSource && <div className="page-container page-body">
|
|
|
|
|
- <div>
|
|
|
|
|
- <form onSubmit={this.onSubmit}>
|
|
|
|
|
- {this.isReadOnly() && this.renderIsReadOnlyMessage()}
|
|
|
|
|
- {this.shouldRenderInfoBox() && <div className="grafana-info-box">{this.getInfoText()}</div>}
|
|
|
|
|
-
|
|
|
|
|
- <BasicSettings
|
|
|
|
|
- dataSourceName={dataSource.name}
|
|
|
|
|
- isDefault={dataSource.isDefault}
|
|
|
|
|
- onDefaultChange={state => setIsDefault(state)}
|
|
|
|
|
- onNameChange={name => setDataSourceName(name)}
|
|
|
|
|
- />
|
|
|
|
|
-
|
|
|
|
|
- {dataSourceMeta.module && (
|
|
|
|
|
- <PluginSettings
|
|
|
|
|
- dataSource={dataSource}
|
|
|
|
|
- dataSourceMeta={dataSourceMeta}
|
|
|
|
|
- onModelChange={this.onModelChange}
|
|
|
|
|
|
|
+ {this.hasDataSource && (
|
|
|
|
|
+ <div className="page-container page-body">
|
|
|
|
|
+ <div>
|
|
|
|
|
+ <form onSubmit={this.onSubmit}>
|
|
|
|
|
+ {this.isReadOnly() && this.renderIsReadOnlyMessage()}
|
|
|
|
|
+ {this.shouldRenderInfoBox() && <div className="grafana-info-box">{this.getInfoText()}</div>}
|
|
|
|
|
+
|
|
|
|
|
+ <BasicSettings
|
|
|
|
|
+ dataSourceName={dataSource.name}
|
|
|
|
|
+ isDefault={dataSource.isDefault}
|
|
|
|
|
+ onDefaultChange={state => setIsDefault(state)}
|
|
|
|
|
+ onNameChange={name => setDataSourceName(name)}
|
|
|
/>
|
|
/>
|
|
|
- )}
|
|
|
|
|
-
|
|
|
|
|
- <div className="gf-form-group section">
|
|
|
|
|
- {testingMessage && (
|
|
|
|
|
- <div className={`alert-${testingStatus} alert`}>
|
|
|
|
|
- <div className="alert-icon">
|
|
|
|
|
- {testingStatus === 'error' ? (
|
|
|
|
|
- <i className="fa fa-exclamation-triangle" />
|
|
|
|
|
- ) : (
|
|
|
|
|
- <i className="fa fa-check" />
|
|
|
|
|
- )}
|
|
|
|
|
- </div>
|
|
|
|
|
- <div className="alert-body">
|
|
|
|
|
- <div className="alert-title">{testingMessage}</div>
|
|
|
|
|
- </div>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+
|
|
|
|
|
+ {dataSourceMeta.module && (
|
|
|
|
|
+ <PluginSettings
|
|
|
|
|
+ dataSource={dataSource}
|
|
|
|
|
+ dataSourceMeta={dataSourceMeta}
|
|
|
|
|
+ onModelChange={this.onModelChange}
|
|
|
|
|
+ />
|
|
|
)}
|
|
)}
|
|
|
- </div>
|
|
|
|
|
-
|
|
|
|
|
- <ButtonRow
|
|
|
|
|
- onSubmit={event => this.onSubmit(event)}
|
|
|
|
|
- isReadOnly={this.isReadOnly()}
|
|
|
|
|
- onDelete={this.onDelete}
|
|
|
|
|
- />
|
|
|
|
|
- </form>
|
|
|
|
|
|
|
+
|
|
|
|
|
+ <div className="gf-form-group section">
|
|
|
|
|
+ {testingMessage && (
|
|
|
|
|
+ <div className={`alert-${testingStatus} alert`}>
|
|
|
|
|
+ <div className="alert-icon">
|
|
|
|
|
+ {testingStatus === 'error' ? (
|
|
|
|
|
+ <i className="fa fa-exclamation-triangle" />
|
|
|
|
|
+ ) : (
|
|
|
|
|
+ <i className="fa fa-check" />
|
|
|
|
|
+ )}
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <div className="alert-body">
|
|
|
|
|
+ <div className="alert-title">{testingMessage}</div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ )}
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <ButtonRow
|
|
|
|
|
+ onSubmit={event => this.onSubmit(event)}
|
|
|
|
|
+ isReadOnly={this.isReadOnly()}
|
|
|
|
|
+ onDelete={this.onDelete}
|
|
|
|
|
+ onTest={event => this.onTest(event)}
|
|
|
|
|
+ />
|
|
|
|
|
+ </form>
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
- </div>}
|
|
|
|
|
|
|
+ )}
|
|
|
</Page.Contents>
|
|
</Page.Contents>
|
|
|
</Page>
|
|
</Page>
|
|
|
);
|
|
);
|