59 lines
No EOL
2 KiB
Bash
59 lines
No EOL
2 KiB
Bash
#!/usr/bin/env bash
|
|
# ui/net.module.sh — rendering for network services
|
|
|
|
# ======================================================
|
|
# List rendering
|
|
# ======================================================
|
|
|
|
# ui::net::list_row <name> <ip> <desc> <tags> <ports_display> <w_name> <w_ip> <w_ports>
|
|
function ui::net::list_row() {
|
|
local name="${1:-}" ip="${2:-}" desc="${3:-}" tags="${4:-}" ports="${5:-}" \
|
|
w_name="${6:-16}" w_ip="${7:-14}" w_ports="${8:-20}"
|
|
|
|
local name_pad ip_pad
|
|
name_pad=$(printf "%-${w_name}s" "$name")
|
|
ip_pad=$(printf "%-${w_ip}s" "$ip")
|
|
|
|
local ports_pad_n=$(( w_ports - ${#ports} ))
|
|
[[ $ports_pad_n -lt 0 ]] && ports_pad_n=0
|
|
|
|
local tags_display=""
|
|
[[ -n "$tags" ]] && tags_display=" \033[2m[${tags}]\033[0m"
|
|
|
|
printf " %s %s %s%*s %s%b\n" \
|
|
"$name_pad" "$ip_pad" "$ports" "$ports_pad_n" "" \
|
|
"${desc:--}" "$tags_display"
|
|
}
|
|
|
|
# Table version (kept for future display config)
|
|
function ui::net::list_header_table() {
|
|
printf "\n %-20s %-16s %-6s %s\n" "NAME" "IP" "PORTS" "DESCRIPTION"
|
|
printf " %s\n" "$(printf '─%.0s' {1..72})"
|
|
}
|
|
|
|
function ui::net::list_row_table() {
|
|
local name="${1:-}" ip="${2:-}" desc="${3:-}" tags="${4:-}" port_count="${5:-}"
|
|
local tag_display=""
|
|
[[ -n "$tags" ]] && tag_display=" \033[0;37m[${tags}]\033[0m"
|
|
printf " %-20s %-16s %-6s %s%b\n" \
|
|
"$name" "$ip" "${port_count}p" "${desc:-—}" "$tag_display"
|
|
}
|
|
|
|
# ======================================================
|
|
# Show rendering
|
|
# ======================================================
|
|
|
|
# ui::net::show_port_row <port_name> <port> <proto> <desc>
|
|
function ui::net::show_port_row() {
|
|
local port_name="${1:-}" port="${2:-}" proto="${3:-}" desc="${4:-}"
|
|
local port_display=":${port}/${proto}"
|
|
local port_pad
|
|
port_pad=$(printf "%-14s" "$port_display")
|
|
if [[ -n "$desc" ]]; then
|
|
printf " %s \033[2m→\033[0m %-16s \033[2m# %s\033[0m\n" \
|
|
"$port_pad" "$port_name" "$desc"
|
|
else
|
|
printf " %s \033[2m→\033[0m %s\n" \
|
|
"$port_pad" "$port_name"
|
|
fi
|
|
} |