Product: PowerShell Universal
Version: 5.5.1
pretty basic, and does not work for multi-node env, but a least informs all users about whatever maintenance if needed
$page:broadcast=@{
set=$true
active=$false
message="Broadcast testing - please ignore !"
duration=10
}
New-UDDynamic -Content {
while ($page:broadcast.set) {
if ($page:broadcast.active) {
Hide-UDToast -id "broadcast"
Show-UDToast -id "broadcast" -Message $page:broadcast.message -Duration ($page:broadcast.duration * 1000) -BackgroundColor deeppink -Icon bullhorn -IconColor Darkorchid -ReplaceToast -Position topCenter -HideCloseButton -Balloon -MessageColor floralwhite -Broadcast
foreach($loop in (($page:broadcast.duration-1)..0)) {
if ($page:broadcast.active) {
Set-UDElement -id "tick" -Properties @{value=$loop}
Start-Sleep 1
} else {
break
}
}
}
else {
Hide-UDToast -id "broadcast"
Set-UDElement -id "tick" -Properties @{value=""}
Start-Sleep 0.1
}
}
}
New-UDGrid -Container -spacing 10 -Content {
New-UDGrid -Item -ExtraSmallSize 12 -Content {
New-UDTextbox -id "desc" -value "Display a broadcast message on all pages" -FullWidth -Multiline -Disabled -Variant outlined
}
New-UDGrid -Item -ExtraSmallSize 8 -Content {
New-UDTextbox -id "message" -label "message text to broadcast" -value $page:broadcast.message -FullWidth -Variant filled -OnChange {
$page:broadcast.message=$eventdata
}
}
New-UDGrid -Item -ExtraSmallSize 2 -Content {
New-UDSwitch -Id "onoff" -Label "Broadcast off/on" -Color secondary -OnChange {
$page:broadcast.active = $eventdata
}
}
New-UDGrid -Item -ExtraSmallSize 2 -Content {
New-UDTextbox -id "tick" -label "refresh in" -value "0" -FullWidth -Disabled -Variant outlined
}
}