Azpect3120 9c8a25609e FEAT: Connection manager is working
All it can do is view and delete the connections but that was the key
functionality that was missing.
2024-08-14 12:30:16 -07:00

35 lines
1.1 KiB
Go

package templates
import "fmt"
// List item templates
const LIST_OPEN string = `<select id="connected-database" name="connected-database" class="mt-1 block p-2 border border-gray-300 rounded-md shadow-sm focus:ring-blue-500 focus:border-blue-500 text-sm md:text-base" title="Change the connection to query.">`
const LIST_ITEM string = `<option value="%s"%s>%s</option>`
const LIST_CLOSE string = `</select>`
const TREE_VIEW_NAME string = `<span hx-swap-oob="outerHTML" id="database-name-tree">%s</span>`
// Generate a list of connections to display in the drop-down.
// Current connection will be toggled as selected
func ConnectionsList(connections map[string]string, current string) string {
var html string = LIST_OPEN
if len(connections) == 0 || connections == nil {
html += fmt.Sprintf(LIST_ITEM, "", " selected", "No connections")
return html + LIST_CLOSE
}
for name, url := range connections {
if name == current {
html += fmt.Sprintf(LIST_ITEM, url, " selected", name)
} else {
html += fmt.Sprintf(LIST_ITEM, url, "", name)
}
}
treeName := fmt.Sprintf(TREE_VIEW_NAME, current)
html += LIST_CLOSE
return html + treeName
}