feat: WebUI add `Error` case in port test result (#6607)

* refactor: do not rely on port test response to determine ip protocol

* feat: show `Error` in port test if no result is returned
This commit is contained in:
Yat Ho 2024-02-16 13:20:23 +08:00 committed by GitHub
parent ee12d697cf
commit 41566cfd0b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 12 additions and 5 deletions

View File

@ -48,20 +48,27 @@ export class PrefsDialog extends EventTarget {
)) {
delete element.dataset.open;
setTextContent(element, 'Checking...');
this.remote.checkPort(key, this._onPortChecked, this);
this.remote.checkPort(
key,
(response) => this._onPortChecked(key, response),
this,
);
}
}
_onPortChecked(response) {
_onPortChecked(ipProtocol, response) {
if (this.closed) {
return;
}
const element =
this.elements.network.port_status_label[response.arguments['ipProtocol']];
const element = this.elements.network.port_status_label[ipProtocol];
const is_open = response.arguments['port-is-open'] || false;
element.dataset.open = is_open;
setTextContent(element, is_open ? 'Open' : 'Closed');
if ('port-is-open' in response.arguments) {
setTextContent(element, is_open ? 'Open' : 'Closed');
} else {
setTextContent(element, 'Error');
}
}
_setBlocklistButtonEnabled(b) {