Final site updates

This commit is contained in:
Henry Whitaker
2021-04-11 10:34:28 +01:00
parent 9af0f10183
commit 2a5cc5c7d9
23 changed files with 203 additions and 12 deletions

View File

@@ -148391,6 +148391,27 @@ var SettingsIndex = /*#__PURE__*/function (_Component) {
inline: true, inline: true,
earlyReturn: true, earlyReturn: true,
classes: 'mr-2' 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_database,
type: 'text'
}, {
obj: data.influx_db_username,
type: 'text',
autoComplete: false
}, {
obj: data.influx_db_password,
type: 'password',
autoComplete: false
}] }]
}; };
}); });
@@ -148529,6 +148550,10 @@ var SettingsInput = /*#__PURE__*/function (_Component) {
input = _this.generateTextInput(disabled); input = _this.generateTextInput(disabled);
} }
if (_this.state.type === 'password') {
input = _this.generatePasswordInput(disabled);
}
if (_this.state.type === 'btn-get') { if (_this.state.type === 'btn-get') {
input = _this.generateButtonGetInput(); input = _this.generateButtonGetInput();
} }
@@ -148570,7 +148595,8 @@ var SettingsInput = /*#__PURE__*/function (_Component) {
url: _this.props.url, url: _this.props.url,
inline: _this.props.inline ? 'd-inline-block' : 'd-block', inline: _this.props.inline ? 'd-inline-block' : 'd-block',
btnType: _this.props.btnType, btnType: _this.props.btnType,
earlyReturn: _this.props.earlyReturn ? true : false earlyReturn: _this.props.earlyReturn ? true : false,
autoComplete: String(_this.props.autoComplete ? true : Math.random().toString(36).replace(/[^a-z]+/g, '').substr(0, 7))
}; };
return _this; return _this;
} }
@@ -148598,7 +148624,8 @@ var SettingsInput = /*#__PURE__*/function (_Component) {
disabled: disabled, disabled: disabled,
min: this.state.min, min: this.state.min,
max: this.state.max, max: this.state.max,
onInput: this.handleInput onInput: this.handleInput,
autoComplete: this.state.autoComplete
}); });
} }
}, { }, {
@@ -148639,7 +148666,20 @@ var SettingsInput = /*#__PURE__*/function (_Component) {
type: this.state.type, type: this.state.type,
defaultValue: this.state.value, defaultValue: this.state.value,
disabled: disabled, disabled: disabled,
onInput: this.handleInput onInput: this.handleInput,
autoComplete: this.state.autoComplete
});
}
}, {
key: "generatePasswordInput",
value: function generatePasswordInput(disabled) {
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_1__["Form"].Control, {
name: this.state.name,
type: this.state.type,
defaultValue: this.state.value,
disabled: disabled,
onInput: this.handleInput,
autoComplete: this.state.autoComplete
}); });
} }
}, { }, {
@@ -148700,6 +148740,7 @@ __webpack_require__.r(__webpack_exports__);
/* harmony import */ var _tabs_NotificationsSettings__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./tabs/NotificationsSettings */ "./resources/js/components/Settings/tabs/NotificationsSettings.js"); /* harmony import */ var _tabs_NotificationsSettings__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./tabs/NotificationsSettings */ "./resources/js/components/Settings/tabs/NotificationsSettings.js");
/* harmony import */ var _Authentication_Authentication__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../Authentication/Authentication */ "./resources/js/components/Authentication/Authentication.js"); /* harmony import */ var _Authentication_Authentication__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../Authentication/Authentication */ "./resources/js/components/Authentication/Authentication.js");
/* harmony import */ var _tabs_TableSettings__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./tabs/TableSettings */ "./resources/js/components/Settings/tabs/TableSettings.js"); /* harmony import */ var _tabs_TableSettings__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./tabs/TableSettings */ "./resources/js/components/Settings/tabs/TableSettings.js");
/* harmony import */ var _tabs_InfluxDBSettings__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./tabs/InfluxDBSettings */ "./resources/js/components/Settings/tabs/InfluxDBSettings.js");
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); } function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
@@ -148739,6 +148780,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
var SettingsTabs = /*#__PURE__*/function (_Component) { var SettingsTabs = /*#__PURE__*/function (_Component) {
_inherits(SettingsTabs, _Component); _inherits(SettingsTabs, _Component);
@@ -148752,7 +148794,7 @@ var SettingsTabs = /*#__PURE__*/function (_Component) {
_this = _super.call(this, props); _this = _super.call(this, props);
_defineProperty(_assertThisInitialized(_this), "generateTabs", function () { _defineProperty(_assertThisInitialized(_this), "generateTabs", function () {
var tabs = ['General', 'Graphs', 'Tables', 'Notifications', 'healthchecks.io', 'Reset', 'Backup/Restore']; var tabs = ['General', 'Graphs', 'Tables', 'Notifications', 'healthchecks.io', 'InfluxDB', 'Reset', 'Backup/Restore'];
if (window.config.auth) { if (window.config.auth) {
tabs.push('Authentication'); tabs.push('Authentication');
@@ -148815,7 +148857,7 @@ var SettingsTabs = /*#__PURE__*/function (_Component) {
description: setting.obj.description, description: setting.obj.description,
handler: handler, handler: handler,
label: setting.obj.name label: setting.obj.name
}, _defineProperty(_React$createElement, "description", setting.obj.description), _defineProperty(_React$createElement, "options", setting.type == 'select' ? setting.options : []), _defineProperty(_React$createElement, "hideDescription", setting.hideDescription ? setting.hideDescription : false), _defineProperty(_React$createElement, "min", setting.min ? setting.min : false), _defineProperty(_React$createElement, "max", setting.max ? setting.max : false), _defineProperty(_React$createElement, "btnType", setting.btnType), _defineProperty(_React$createElement, "inline", setting.inline), _defineProperty(_React$createElement, "url", setting.url), _defineProperty(_React$createElement, "earlyReturn", setting.earlyReturn ? true : false), _defineProperty(_React$createElement, "classes", setting.classes ? setting.classes : ''), _React$createElement)); }, _defineProperty(_React$createElement, "description", setting.obj.description), _defineProperty(_React$createElement, "options", setting.type == 'select' ? setting.options : []), _defineProperty(_React$createElement, "hideDescription", setting.hideDescription ? setting.hideDescription : false), _defineProperty(_React$createElement, "min", setting.min ? setting.min : false), _defineProperty(_React$createElement, "max", setting.max ? setting.max : false), _defineProperty(_React$createElement, "btnType", setting.btnType), _defineProperty(_React$createElement, "inline", setting.inline), _defineProperty(_React$createElement, "url", setting.url), _defineProperty(_React$createElement, "earlyReturn", setting.earlyReturn ? true : false), _defineProperty(_React$createElement, "classes", setting.classes ? setting.classes : ''), _defineProperty(_React$createElement, "autoComplete", setting.autoComplete ? true : false), _React$createElement));
}); });
}); });
@@ -148858,6 +148900,13 @@ var SettingsTabs = /*#__PURE__*/function (_Component) {
save: _this.save save: _this.save
}); });
case 'InfluxDB':
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_tabs_InfluxDBSettings__WEBPACK_IMPORTED_MODULE_14__["default"], {
data: data.influxdb,
generateInputs: _this.generateInputs,
save: _this.save
});
case 'Reset': case 'Reset':
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_tabs_ResetSettings__WEBPACK_IMPORTED_MODULE_6__["default"], { return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_1___default.a.createElement(_tabs_ResetSettings__WEBPACK_IMPORTED_MODULE_6__["default"], {
data: data.healthchecks, data: data.healthchecks,
@@ -149333,6 +149382,133 @@ if (document.getElementById('HealthchecksSettings')) {
/***/ }), /***/ }),
/***/ "./resources/js/components/Settings/tabs/InfluxDBSettings.js":
/*!*******************************************************************!*\
!*** ./resources/js/components/Settings/tabs/InfluxDBSettings.js ***!
\*******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return InfluxDBSettings; });
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js");
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom */ "./node_modules/react-dom/index.js");
/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-bootstrap */ "./node_modules/react-bootstrap/esm/index.js");
/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! axios */ "./node_modules/axios/index.js");
/* harmony import */ var axios__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(axios__WEBPACK_IMPORTED_MODULE_3__);
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
var InfluxDBSettings = /*#__PURE__*/function (_Component) {
_inherits(InfluxDBSettings, _Component);
var _super = _createSuper(InfluxDBSettings);
function InfluxDBSettings(props) {
var _this;
_classCallCheck(this, InfluxDBSettings);
_this = _super.call(this, props);
_defineProperty(_assertThisInitialized(_this), "inputHandler", function (name, val) {
var settings = _this.state.data;
var i = 0;
settings.forEach(function (ele) {
if (ele.obj.name == name) {
ele.obj.value = val;
}
settings[i] = ele;
i++;
});
_this.setState({
data: settings
});
});
_this.state = {
data: _this.props.data
};
return _this;
}
_createClass(InfluxDBSettings, [{
key: "render",
value: function render() {
var _this2 = this;
var settings = this.props.generateInputs(this.state.data, this.inputHandler);
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react_bootstrap__WEBPACK_IMPORTED_MODULE_2__["Tab"].Content, null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("form", {
onSubmit: function onSubmit(e) {
e.preventDefault();
},
autoComplete: "off"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", {
type: "text",
autoComplete: "username",
style: {
display: 'none'
}
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("input", {
type: "password",
name: "password",
autoComplete: "passoword",
style: {
display: 'none'
}
}), settings), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
className: "mt-3"
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("button", {
className: "btn btn-primary",
onClick: function onClick() {
_this2.props.save(_this2.state.data, 'healthchecks.io');
}
}, "Save")));
}
}]);
return InfluxDBSettings;
}(react__WEBPACK_IMPORTED_MODULE_0__["Component"]);
if (document.getElementById('InfluxDBSettings')) {
react_dom__WEBPACK_IMPORTED_MODULE_1___default.a.render( /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(InfluxDBSettings, null), document.getElementById('InfluxDBSettings'));
}
/***/ }),
/***/ "./resources/js/components/Settings/tabs/NotificationsSettings.js": /***/ "./resources/js/components/Settings/tabs/NotificationsSettings.js":
/*!************************************************************************!*\ /*!************************************************************************!*\
!*** ./resources/js/components/Settings/tabs/NotificationsSettings.js ***! !*** ./resources/js/components/Settings/tabs/NotificationsSettings.js ***!

View File

@@ -274,12 +274,18 @@ export default class SettingsIndex extends Component {
type: 'number' type: 'number'
}, },
{ {
obj: data.influx_db_username, obj: data.influx_db_database,
type: 'text' type: 'text'
}, },
{
obj: data.influx_db_username,
type: 'text',
autoComplete: false,
},
{ {
obj: data.influx_db_password, obj: data.influx_db_password,
type: 'password' type: 'password',
autoComplete: false,
} }
], ],
}; };

View File

@@ -24,6 +24,7 @@ export default class SettingsInput extends Component {
inline: this.props.inline ? 'd-inline-block' : 'd-block', inline: this.props.inline ? 'd-inline-block' : 'd-block',
btnType: this.props.btnType, btnType: this.props.btnType,
earlyReturn: this.props.earlyReturn ? true : false, earlyReturn: this.props.earlyReturn ? true : false,
autoComplete: String(this.props.autoComplete ? true : Math.random().toString(36).replace(/[^a-z]+/g, '').substr(0, 7)),
} }
} }
@@ -72,7 +73,8 @@ export default class SettingsInput extends Component {
disabled={disabled} disabled={disabled}
min={this.state.min} min={this.state.min}
max={this.state.max} max={this.state.max}
onInput={this.handleInput} /> onInput={this.handleInput}
autoComplete={this.state.autoComplete} />
} }
generateSelectInput(disabled) { generateSelectInput(disabled) {
@@ -109,7 +111,8 @@ export default class SettingsInput extends Component {
type={this.state.type} type={this.state.type}
defaultValue={this.state.value} defaultValue={this.state.value}
disabled={disabled} disabled={disabled}
onInput={this.handleInput} /> onInput={this.handleInput}
autoComplete={this.state.autoComplete} />
} }
generatePasswordInput(disabled) { generatePasswordInput(disabled) {
@@ -118,7 +121,8 @@ export default class SettingsInput extends Component {
type={this.state.type} type={this.state.type}
defaultValue={this.state.value} defaultValue={this.state.value}
disabled={disabled} disabled={disabled}
onInput={this.handleInput} /> onInput={this.handleInput}
autoComplete={this.state.autoComplete} />
} }
generateButtonGetInput() { generateButtonGetInput() {

View File

@@ -107,6 +107,7 @@ export default class SettingsTabs extends Component {
url={setting.url} url={setting.url}
earlyReturn={setting.earlyReturn ? true : false} earlyReturn={setting.earlyReturn ? true : false}
classes={setting.classes ? setting.classes : ''} classes={setting.classes ? setting.classes : ''}
autoComplete={setting.autoComplete ? true : false}
/> />
}) })
} }

View File

@@ -32,7 +32,11 @@ export default class InfluxDBSettings extends Component {
return ( return (
<Tab.Content> <Tab.Content>
{settings} <form onSubmit={(e) => { e.preventDefault() }} autoComplete="off">
<input type="text" autoComplete="username" style={{ display: 'none' }} />
<input type="password" name="password" autoComplete="passoword" style={{ display: 'none' }} />
{settings}
</form>
<div className="mt-3"> <div className="mt-3">
<button className="btn btn-primary" onClick={() => { this.props.save(this.state.data, 'healthchecks.io') }}>Save</button> <button className="btn btn-primary" onClick={() => { this.props.save(this.state.data, 'healthchecks.io') }}>Save</button>
</div> </div>