From 9af0f10183989168930b7ffaf6cc5039e01fb5c3 Mon Sep 17 00:00:00 2001 From: Henry Whitaker Date: Sun, 11 Apr 2021 09:32:48 +0100 Subject: [PATCH] Added the rest of the site files --- .gitignore | 1 + .../js/components/Settings/SettingsIndex.js | 24 +++++++++- .../js/components/Settings/SettingsInput.js | 13 ++++++ .../js/components/Settings/SettingsTabs.js | 7 +++ .../Settings/tabs/InfluxDBSettings.js | 46 +++++++++++++++++++ 5 files changed, 90 insertions(+), 1 deletion(-) create mode 100644 .gitignore create mode 100644 conf/site/resources/js/components/Settings/tabs/InfluxDBSettings.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..e736cbab --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +docker-compose.yaml \ No newline at end of file diff --git a/conf/site/resources/js/components/Settings/SettingsIndex.js b/conf/site/resources/js/components/Settings/SettingsIndex.js index ddd5c8cf..4c831856 100644 --- a/conf/site/resources/js/components/Settings/SettingsIndex.js +++ b/conf/site/resources/js/components/Settings/SettingsIndex.js @@ -259,7 +259,29 @@ export default class SettingsIndex extends Component { classes: 'mr-2' }, - ] + ], + influxdb: [ + { + obj: data.influx_db_enabled, + type: 'checkbox' + }, + { + obj: data.influx_db_host, + type: 'text' + }, + { + obj: data.influx_db_port, + type: 'number' + }, + { + obj: data.influx_db_username, + type: 'text' + }, + { + obj: data.influx_db_password, + type: 'password' + } + ], }; } diff --git a/conf/site/resources/js/components/Settings/SettingsInput.js b/conf/site/resources/js/components/Settings/SettingsInput.js index 464edd3c..caca1a54 100644 --- a/conf/site/resources/js/components/Settings/SettingsInput.js +++ b/conf/site/resources/js/components/Settings/SettingsInput.js @@ -112,6 +112,15 @@ export default class SettingsInput extends Component { onInput={this.handleInput} /> } + generatePasswordInput(disabled) { + return + } + generateButtonGetInput() { var url = this.state.url; @@ -146,6 +155,10 @@ export default class SettingsInput extends Component { input = this.generateTextInput(disabled); } + if(this.state.type === 'password') { + input = this.generatePasswordInput(disabled); + } + if(this.state.type === 'btn-get') { input = this.generateButtonGetInput(); } diff --git a/conf/site/resources/js/components/Settings/SettingsTabs.js b/conf/site/resources/js/components/Settings/SettingsTabs.js index d4721dac..28ff1825 100644 --- a/conf/site/resources/js/components/Settings/SettingsTabs.js +++ b/conf/site/resources/js/components/Settings/SettingsTabs.js @@ -12,6 +12,7 @@ import HealthchecksSettings from './tabs/HealthchecksSettings'; import NotificationsSettings from './tabs/NotificationsSettings'; import Authentication from '../Authentication/Authentication'; import TableSettings from './tabs/TableSettings'; +import InfluxDBSettings from './tabs/InfluxDBSettings'; export default class SettingsTabs extends Component { constructor(props) { @@ -30,6 +31,7 @@ export default class SettingsTabs extends Component { 'Tables', 'Notifications', 'healthchecks.io', + 'InfluxDB', 'Reset', 'Backup/Restore', ]; @@ -138,6 +140,11 @@ export default class SettingsTabs extends Component { data={data.healthchecks} generateInputs={this.generateInputs} save={this.save} /> + case 'InfluxDB': + return case 'Reset': return { + var settings = this.state.data; + var i = 0; + settings.forEach(ele => { + if(ele.obj.name == name) { + ele.obj.value = val; + } + settings[i] = ele; + i++; + }); + this.setState({ + data: settings + }); + } + + render() { + var settings = this.props.generateInputs(this.state.data, this.inputHandler); + + return ( + + {settings} +
+ +
+
+ ); + } +} + +if (document.getElementById('InfluxDBSettings')) { + ReactDOM.render(, document.getElementById('InfluxDBSettings')); +}