Test button for online connectivity check
As suggested by @ntoff.
This commit is contained in:
parent
9c3d7bbbc3
commit
0b95894da1
6 changed files with 42 additions and 2 deletions
|
|
@ -24,6 +24,7 @@
|
|||
<form class="form-horizontal" data-bind="with: settingsViewModel, enable: !setup(), css {disabled: setup()}">
|
||||
{% include "snippets/settings/server/serverOnlineCheckHost.jinja2" %}
|
||||
{% include "snippets/settings/server/serverOnlineCheckPort.jinja2" %}
|
||||
{% include "snippets/settings/server/serverOnlineCheckTest.jinja2" %}
|
||||
</form>
|
||||
|
||||
<p>{% trans %}
|
||||
|
|
|
|||
|
|
@ -230,6 +230,15 @@ $(function() {
|
|||
self.webcam_ffmpegPathBroken(false);
|
||||
};
|
||||
|
||||
self.server_onlineCheckText = ko.observable();
|
||||
self.server_onlineCheckOk = ko.observable(false);
|
||||
self.server_onlineCheckBroken = ko.observable(false);
|
||||
self.server_onlineCheckReset = function() {
|
||||
self.server_onlineCheckText("");
|
||||
self.server_onlineCheckOk(false);
|
||||
self.server_onlineCheckBroken(false);
|
||||
};
|
||||
|
||||
self.addTemperatureProfile = function() {
|
||||
self.temperature_profiles.push({name: "New", extruder:0, bed:0});
|
||||
};
|
||||
|
|
@ -356,8 +365,31 @@ $(function() {
|
|||
});
|
||||
};
|
||||
|
||||
self.testOnlineConnectivityConfigBusy = ko.observable(false);
|
||||
self.testOnlineConnectivityConfig = function() {
|
||||
if (!self.server_onlineCheck_host()) return;
|
||||
if (!self.server_onlineCheck_port()) return;
|
||||
if (self.testOnlineConnectivityConfigBusy()) return;
|
||||
|
||||
self.testOnlineConnectivityConfigBusy(true);
|
||||
OctoPrint.util.testServer(self.server_onlineCheck_host(), self.server_onlineCheck_port())
|
||||
.done(function(response) {
|
||||
if (!response.result) {
|
||||
self.server_onlineCheckText(gettext("The server is not reachable"));
|
||||
} else {
|
||||
self.server_onlineCheckText(gettext("The server is reachable"));
|
||||
}
|
||||
self.server_onlineCheckOk(response.result);
|
||||
self.server_onlineCheckBroken(!response.result);
|
||||
})
|
||||
.always(function() {
|
||||
self.testOnlineConnectivityConfigBusy(false);
|
||||
});
|
||||
};
|
||||
|
||||
self.onSettingsHidden = function() {
|
||||
self.webcam_ffmpegPathReset();
|
||||
self.server_onlineCheckReset();
|
||||
};
|
||||
|
||||
self.isDialogActive = function() {
|
||||
|
|
|
|||
|
|
@ -15,4 +15,5 @@
|
|||
{% include "snippets/settings/server/serverOnlineCheckInterval.jinja2" %}
|
||||
{% include "snippets/settings/server/serverOnlineCheckHost.jinja2" %}
|
||||
{% include "snippets/settings/server/serverOnlineCheckPort.jinja2" %}
|
||||
{% include "snippets/settings/server/serverOnlineCheckTest.jinja2" %}
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<div class="control-group" title="{{ _('Host against which to check for internet connectivity') }}">
|
||||
<div class="control-group" title="{{ _('Host against which to check for internet connectivity') }}" data-bind="css: {error: server_onlineCheckBroken, success: server_onlineCheckOk}">
|
||||
<label class="control-label" for="settings-serverOnlineCheckHost">{{ _('Host IP') }}</label>
|
||||
<div class="controls">
|
||||
<input type="text" class="input-small" data-bind="value: server_onlineCheck_host" id="settings-serverOnlineCheckHost">
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<div class="control-group" title="{{ _('Port against which to check for internet connectivity') }}">
|
||||
<div class="control-group" title="{{ _('Port against which to check for internet connectivity') }}" data-bind="css: {error: server_onlineCheckBroken, success: server_onlineCheckOk}">
|
||||
<label class="control-label" for="settings-serverOnlineCheckHost">{{ _('Port') }}</label>
|
||||
<div class="controls">
|
||||
<input type="number" min="1" max="65535" step="1" class="input-small" data-bind="value: server_onlineCheck_port" id="settings-serverOnlineCheckPort">
|
||||
|
|
|
|||
|
|
@ -0,0 +1,6 @@
|
|||
<div class="control-group" title="{{ _('Test') }}" data-bind="css: {error: server_onlineCheckBroken, success: server_onlineCheckOk}">
|
||||
<div class="controls">
|
||||
<button class="btn" data-bind="click: testOnlineConnectivityConfig, enable: server_onlineCheck_host() && server_onlineCheck_port() && !testOnlineConnectivityConfigBusy(), css: {disabled: !server_onlineCheck_host() || !server_onlineCheck_port() || testOnlineConnectivityConfigBusy()}"><i class="fa fa-spinner fa-spin" data-bind="visible: testOnlineConnectivityConfigBusy"></i> {{ _('Test host & port') }}</button>
|
||||
<span class="help-block" data-bind="visible: server_onlineCheckBroken() || server_onlineCheckOk(), text: server_onlineCheckText"></span>
|
||||
</div>
|
||||
</div>
|
||||
Loading…
Reference in a new issue