implement connection handlers

This commit is contained in:
marlon-erler
2024-07-19 18:17:00 +02:00
parent f1fd6f55f8
commit 9e74d0227a
3 changed files with 93 additions and 34 deletions
+30 -14
View File
@@ -1,27 +1,43 @@
import * as React from 'bloatless-react';
import * as React from "bloatless-react";
import ConnectionModel from '../Model/connectionModel';
// model
const connectionModel = new ConnectionModel();
import ConnectionModel from "../Model/connectionModel";
// state
const address = new React.State("");
const addressInput = React.restoreState("maintenance-address", "");
const connectedAddress = new React.State("");
const isConnected = new React.State(false);
// model
const connectionModel = new ConnectionModel({
connectionChangeHandler() {
isConnected.value = connectionModel.isConnected;
connectedAddress.value = connectionModel.address ?? "---";
},
messageHandler(data) {
console.log(data);
},
});
// methods
function connect() {
connectionModel.connect(address.value);
connectionModel.connect(addressInput.value);
}
function disconnect() {
connectionModel.disconnect();
connectionModel.disconnect();
}
// view
document.querySelector("main")!.append(
<div class="flex-column">
<input bind:value={address}></input>
<button on:click={connect}>Connect</button>
<button on:click={disconnect}>Disconnect</button>
</div>
)
<div class="flex-column">
<input bind:value={addressInput}></input>
<button on:click={connect} toggle:disabled={isConnected}>
Connect
</button>
<button on:click={disconnect}>Disconnect</button>
<hr></hr>
<span subscribe:innerText={connectedAddress}></span>
</div>
);