SignalR implemented

This commit is contained in:
TypoMustakes
2024-05-09 17:56:16 +02:00
parent 171d640f03
commit 5b0ff9e099
18 changed files with 520 additions and 0 deletions

View File

@@ -4,6 +4,7 @@
<meta charset="UTF-8">
<title>Who maintains a service</title>
<link rel="stylesheet" type="text/css" href="../../style.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/microsoft-signalr/6.0.1/signalr.js"></script>
<script src="./script.js"></script>
</head>
<body>

View File

@@ -1,5 +1,75 @@
let services = [];
let connection = null;
let selectedId = null;
getServices();
setupSignalR();
function setupSignalR() {
connection = new signalR.HubConnectionBuilder()
.withUrl("https://localhost:5001/hub")
.configureLogging(signalR.LogLevel.Information)
.build();
connection.on("ServiceCreated", (user, message) => {
getServices();
if (selectedId != null)
{
runQuery(selectedId);
}
});
connection.on("ServiceDeleted", (user, message) => {
getServices();
if (selectedId != null)
{
runQuery(selectedId);
}
});
connection.on("ServiceUpdated", (user, message) => {
getServices();
if (selectedId != null)
{
runQuery(selectedId);
}
});
connection.on("EmployeeCreated", (user, message) => {
if (selectedId != null)
{
runQuery(selectedId);
}
});
connection.on("EmployeeUpdated", (user, message) => {
if (selectedId != null)
{
runQuery(selectedId);
}
});
connection.on("EmployeeDeleted", (user, message) => {
if (selectedId != null)
{
runQuery(selectedId);
}
});
connection.onclose(async () => {
await start();
});
start();
}
async function start() {
try {
await connection.start();
console.log("SignalR Connected.");
} catch (err) {
console.log(err);
setTimeout(start, 5000);
}
};
async function getServices()
{
@@ -15,6 +85,7 @@ async function getServices()
function display()
{
document.getElementById('lines').innerHTML = '';
document.getElementById('resultarea').innerHTML = '';
services.forEach(t => {
document.getElementById('lines').innerHTML +=
@@ -30,6 +101,7 @@ function display()
async function runQuery(id)
{
selectedId = id;
let results = []
document.getElementById('resultarea').innerHTML = '';